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

gmyhbio gmyhbio 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
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.老是无限循环?怎么判断返回数据完了?
...全文

相关推荐

评论 4
收藏 已收藏
分享
返回顶部
gmyhbio
网络编程 18,356 成员 64,161 内容