为什么本人收到的数据多了那么多FFFFFFFF

C语言 码拜 8年前 (2017-04-18) 1436次浏览
 用C写最简单功能的TCP Server收数据,每次打印出来的数据每隔几个就会出现不正常的,不正常的表现就是数据前面多了很多FFFFFFFF,有没有人帮看看这是为什么?附图是数据对比
程序可能出错的部分如下:
SOCKET sClient;
sockaddr_in remoteAddr;
int nAddrlen = sizeof(remoteAddr);
char revData[255];
while (true)
{
printf(“等待连接…\n”);
sClient = accept(slisten, (SOCKADDR *)&remoteAddr, &nAddrlen);
if(sClient == INVALID_SOCKET)
{
printf(“accept error !”);
continue;
}
printf(“接受到一个连接:%s \r\n”, inet_ntoa(remoteAddr.sin_addr));  //打印收到的连接信息
//接收数据
ZeroMemory(revData,255);
int ret = recv(sClient, revData, 255, 0);
if(ret>0)
{
for (int i=0;i<ret;i++)
printf(“%.2X “,revData[i]);
}
closesocket(sClient);
}
为什么本人收到的数据多了那么多FFFFFFFF
解决方案

100

为什么本人收到的数据多了那么多FFFFFFFF

printf("%02X ", static_cast<unsigned char>(revData[i]));

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明为什么本人收到的数据多了那么多FFFFFFFF
喜欢 (0)
[1034331897@qq.com]
分享 (0)