求助几个问题,SOCKET和转码的问题?

gmyhbio 2012-01-09 03:14:35
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD(1, 1);
err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 )
{
return;
}
if ( LOBYTE( wsaData.wVersion ) != 1 ||
HIBYTE( wsaData.wVersion ) != 1 )
{
WSACleanup( );
return;
}

SOCKET sockClient = socket(AF_INET, SOCK_DGRAM, 0) ;

SOCKADDR_IN addrSrv ;
addrSrv.sin_addr.S_un.S_addr = inet_addr("203.171.229.52") ;
addrSrv.sin_family = AF_INET ;
addrSrv.sin_port = htons(27018) ;

char sendBuf[100] ;
char recvBuf[_MAX_PATH] ;
char tempBuf[200] ;

int len = sizeof(SOCKADDR) ;

while (1)
{
lstrcpy(sendBuf,"TSource Engine Query");
sendto( sockClient, sendBuf, strlen(sendBuf), 0, (SOCKADDR*)&addrSrv , len ) ;
recvfrom( sockClient , recvBuf , _MAX_PATH , 0 , (SOCKADDR*)&addrSrv , &len ) ;
CString temp;
m_list.InsertString(0, recvBuf);
temp.Format("recvBuf:%s", recvBuf);
AfxMessageBox(temp);
}

closesocket(sockClient) ;
WSACleanup() ;

////这段代码就有返回数据,各位大神可以直接调用看到。
1.返回的数据貌似不完整,只返回了一半不到。
2.返回的数据是什么类型的?英文正常,中文就乱码。
3.老是无限循环?怎么判断返回数据完了?
...全文
68 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
oyljerry 2012-01-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 gmyhbio 的回复:]
引用 1 楼 visualeleven 的回复:

1. UDP丢包了?还是你的缓存区定义的小了
2. 你发送端怎么写的?
3. 可以自己定义一个协议


不知道丢包没。
发送端是游戏服务端的(Counter-Strike)


引用 2 楼 oyljerry 的回复:

1.是否接收到所有的数据,是否处理完了
2.中文用unicode字符等来发送,接收
3.定一个结……
[/Quote]
那你UTF-8是否转码回来正确
gmyhbio 2012-01-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 visualeleven 的回复:]

1. UDP丢包了?还是你的缓存区定义的小了
2. 你发送端怎么写的?
3. 可以自己定义一个协议
[/Quote]

不知道丢包没。
发送端是游戏服务端的(Counter-Strike)

[Quote=引用 2 楼 oyljerry 的回复:]

1.是否接收到所有的数据,是否处理完了
2.中文用unicode字符等来发送,接收
3.定一个结束字符,收到后,就认为接收结束了
[/Quote]

没接收完。
怎么用unicode来接收?发送端是UTF8的unicode


两位看下这个。
http://banchen.bokee.com/6772048.html
oyljerry 2012-01-09
  • 打赏
  • 举报
回复
1.是否接收到所有的数据,是否处理完了
2.中文用unicode字符等来发送,接收
3.定一个结束字符,收到后,就认为接收结束了
Eleven 2012-01-09
  • 打赏
  • 举报
回复
1. UDP丢包了?还是你的缓存区定义的小了
2. 你发送端怎么写的?
3. 可以自己定义一个协议

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧