回答編集履歴
1
コードが誤っていたので修正
test
CHANGED
@@ -20,17 +20,19 @@
|
|
20
20
|
|
21
21
|
原因4 受信が分割されている。recvは取りこぼすこともある。
|
22
22
|
|
23
|
-
int
|
23
|
+
int i,r;
|
24
24
|
|
25
|
-
|
25
|
+
char *p = (char *)tmp;
|
26
26
|
|
27
|
+
for ( i = 0 ; i < 16 ; ){
|
28
|
+
|
27
|
-
if (
|
29
|
+
if ((r = recv(socket, p+i, 16-i, 0)) < 0) {
|
28
30
|
|
29
31
|
perror("ID ERROR");
|
30
32
|
|
31
33
|
} else {
|
32
34
|
|
33
|
-
|
35
|
+
i += r;
|
34
36
|
|
35
37
|
}
|
36
38
|
|