奇怪问题

wudeshou82666 wudeshou82666 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
遇到一个奇怪的问题,我现在有两个全局的SOCKET,
初始化:
WSADATA wsaData;
WORD version = MAKEWORD(2,0);
int ret = WSAStartup(version,&wsaData);
if(ret!=0)
{
AfxMessageBox("Fail to initialize socket",MB_OK|MB_ICONERROR);
}
g_Galobalsock=socket(AF_INET,SOCK_STREAM,0);
g_Warnsock=socket(AF_INET,SOCK_STREAM,0);

sockaddr_in server;
server.sin_family=AF_INET;
server.sin_addr.S_un.S_addr= inet_addr(dlg.m_ip);
server.sin_port=htons((unsigned short)dlg.m_port);
port = dlg.m_port;
ip = dlg.m_ip;

if((connect(g_Galobalsock,(struct sockaddr* )&server,sizeof(sockaddr_in))!=0)||(connect(g_Warnsock,(struct sockaddr* )&server,sizeof(sockaddr_in))!=0))
{
AfxMessageBox("连接失败",MB_OK|MB_ICONERROR);
inet=false;
}
else
{
AfxMessageBox("连接正常",MB_OK|MB_ICONASTERISK);
int timeout=15000;
if((SOCKET_ERROR==setsockopt(g_Galobalsock,SOL_SOCKET,SO_RCVTIMEO,(const char*)&timeout,sizeof(timeout)))||(SOCKET_ERROR==setsockopt(g_Warnsock,SOL_SOCKET,SO_RCVTIMEO,(const char*)&timeout,sizeof(timeout))))
AfxMessageBox("设置接收超时失败",MB_OK|MB_ICONWARNING);
}

现在问题是在DUBUG版本下面这两个套接字都能够正常发送和接收数据.
但是release版本下面g_Galobalsock不能够正常发送和接受数据,g_Warnsock这个套接字在子线程中可以正常接收到数据.

if(send(g_Galobalsock,(const char*)pdata,length,0)==length);
这里正确执行下去了,可是我的服务端确没有收到数据.
想请问高手问题出在哪里!!!!
万分感谢!
...全文

相关推荐

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