Winsockでのデータ送信について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
アバター
Ciel
記事: 252
登録日時: 9年前

Winsockでのデータ送信について

#1

投稿記事 by Ciel » 9年前

お世話になります。

Winsockのsendを使って、char型のポインタを含む構造体を送信した場合、
そのポインタ先のデータまで送信されると思ってよいのでしょうか?

例えば、下記のような構造体があったとします。
そのメンバのbufに、ある文字列のアドレスを入れてsendでデータを送信した場合、
そのbufが指し示す先の文字列まで送信してくれるのかということです。

struct TEST{
int a;
float b;
char *buf;
};

どなたかわかる方、ご回答お願い致します。
oui C'est la Vie♪

YuO
記事: 941
登録日時: 9年前
住所: 東京都世田谷区

Re: Winsockでのデータ送信について

#2

投稿記事 by YuO » 9年前

送られません。

型が完全に特定されていて,その型専用で作らない限り,値の塊としてしかデータは扱えません。
send/recvは値の塊としてデータをやりとりするため,ポインタを持つ型があることすら知らずにデータをやりとりします。

アバター
Ciel
記事: 252
登録日時: 9年前

Re: Winsockでのデータ送信について

#3

投稿記事 by Ciel » 9年前

YuOさんありがとうございます。

では下記のように、単純にchar型にしてしまえば、送信されると思ってよいでしょうか?

struct TEST{
int a;
float b;
char buf[100];
};
oui C'est la Vie♪

YuO
記事: 941
登録日時: 9年前
住所: 東京都世田谷区

Re: Winsockでのデータ送信について

#4

投稿記事 by YuO » 9年前

Ciel さんが書きました:では下記のように、単純にchar型にしてしまえば、送信されると思ってよいでしょうか?
送信されます。

アバター
Ciel
記事: 252
登録日時: 9年前

Re: Winsockでのデータ送信について

#5

投稿記事 by Ciel » 9年前

YuOさんありがとうございました!

ちょっと色々試してみて、またわからないところがあればよろしくお願いします!
oui C'est la Vie♪

閉鎖

“C言語何でも質問掲示板” へ戻る