发送端
while(!feof(fp))
{
fread(szMessage,sizeof(char),DEFAULT_BUFFER-1,fp);
ret = send(sClient, szMessage, strlen(szMessage), 0);
if (ret == 0)
break;
else if (ret == SOCKET_ERROR)
{
printf("send() failed: %d\n", WSAGetLastError());
break;
}
memset(szMessage,0,sizeof(szMessage));
longth +=ret;
printf("Send %d bytes\n", ret);
}
接收端:
ret = recv(sock, szBuff, DEFAULT_BUFFER, 0);
if (ret == 0) // Graceful close
break;
else if (ret == SOCKET_ERROR)
{
printf("recv() failed: %d\n", WSAGetLastError());
break;
}
szBuff[ret] = '\0';
printf("RECV: '%d'\n", ret);
length +=ret;
fwrite(szBuff,sizeof(char),DEFAULT_BUFFER-1,fp);
memset(szBuff,0,sizeof(szBuff));
在接到16219byte时就在recv(sock, szBuff, DEFAULT_BUFFER, 0);
返回10038 sock不是SOCKET对象这是为什么?
while(!feof(fp))
{
fread(szMessage,sizeof(char),DEFAULT_BUFFER-1,fp);
ret = send(sClient, szMessage, strlen(szMessage), 0);
if (ret == 0)
break;
else if (ret == SOCKET_ERROR)
{
printf("send() failed: %d\n", WSAGetLastError());
break;
}
memset(szMessage,0,sizeof(szMessage));
longth +=ret;
printf("Send %d bytes\n", ret);
}
接收端:
ret = recv(sock, szBuff, DEFAULT_BUFFER, 0);
if (ret == 0) // Graceful close
break;
else if (ret == SOCKET_ERROR)
{
printf("recv() failed: %d\n", WSAGetLastError());
break;
}
szBuff[ret] = '\0';
printf("RECV: '%d'\n", ret);
length +=ret;
fwrite(szBuff,sizeof(char),DEFAULT_BUFFER-1,fp);
memset(szBuff,0,sizeof(szBuff));
在接到16219byte时就在recv(sock, szBuff, DEFAULT_BUFFER, 0);
返回10038 sock不是SOCKET对象这是为什么?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货