recv函数接收返回值的问题,感觉有点奇怪
不是说recv是接受的的确切数据大小吗?
ret=recv(sock, buf, strlen(head)-4, 0);
printf("%s\n",buf);
printf("recv buf:%d\n",strlen(buf));
printf("recv ret:%d\n",ret);
len = send ( client_sock, "welcometotheserverAAA", 50, 0);
printf(" had send datelen = %d\n", len);
printf(" want send datelen = 50 \n");
char buf[50] = {0};
55 int len;
56 if( (len = recv( client_sock, buf, 10 , 0)) < 0 )
57 {
58 perror("recv");
59 Ret = -3;
60 goto ERROR;
61 }
62
63 printf(" had recv datelen = %d\n", len);
64 printf(" want recv datelen = 10\n");
65 printf(" want recv date: %s\n", buf);
This is a server
had send datelen = 50
want send datelen = 50
This is a client
had recv datelen = 10
want recv datelen = 10
want recv date: welcometot