ページ 11

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

Posted: 2011年1月02日(日) 22:05
by Ciel
お世話になります。

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

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

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

どなたかわかる方、ご回答お願い致します。

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

Posted: 2011年1月02日(日) 22:14
by YuO
送られません。

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

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

Posted: 2011年1月02日(日) 22:21
by Ciel
YuOさんありがとうございます。

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

struct TEST{
int a;
float b;
char buf[100];
};

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

Posted: 2011年1月03日(月) 01:12
by YuO
Ciel さんが書きました:では下記のように、単純にchar型にしてしまえば、送信されると思ってよいでしょうか?
送信されます。

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

Posted: 2011年1月03日(月) 08:16
by Ciel
YuOさんありがとうございました!

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