回答編集履歴
2
2
answer
CHANGED
@@ -8,4 +8,4 @@
|
|
8
8
|
クライアント側がわざわざ"\0"文字を付けているので、
|
9
9
|
例えば'\0'が現れるまでrecvを繰り返す、といった処理が必要です。
|
10
10
|
|
11
|
-
※send/recvで送
|
11
|
+
※send/recvで送受信するデータは1対1にはなりません。send二回で送ったものがrecv1回ですべて受け取れたり、send1回で送ったものがrecv2回で受け取ることもあります。その辺を注意してプログラムを書く必要があります。
|
1
サーバー
answer
CHANGED
@@ -1,9 +1,11 @@
|
|
1
1
|
補足です。
|
2
2
|
|
3
|
+
サーバー側のrecvも
|
4
|
+
|
3
5
|
> recvMsglen = recv(sock, buf, sizeof(buf), 0);
|
4
6
|
|
5
|
-
|
7
|
+
一度にすべてのデータを受け取れるとは限りません(今回はデータが小さいのでうまくいきますが)。
|
6
8
|
クライアント側がわざわざ"\0"文字を付けているので、
|
7
9
|
例えば'\0'が現れるまでrecvを繰り返す、といった処理が必要です。
|
8
10
|
|
9
|
-
※send/recvで送られるデータは1対1にはなりません。send二回で送ったものがrecv1回
|
11
|
+
※send/recvで送られるデータは1対1にはなりません。send二回で送ったものがrecv1回ですべて受け取れたり、send1回で送ったものがrecv2回で受け取ることもあります。その辺を注意して
|