奇怪问题
遇到一个奇怪的问题,我现在有两个全局的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);
这里正确执行下去了,可是我的服务端确没有收到数据.
想请问高手问题出在哪里!!!!
万分感谢!
初始化:
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);
这里正确执行下去了,可是我的服务端确没有收到数据.
想请问高手问题出在哪里!!!!
万分感谢!
...全文
相关推荐
PNG绘制的奇怪问题
在开发过程中,尤其是在进行半透明绘制时,可能会遇到一些奇怪的问题,比如颜色混合不正确、边缘模糊或者渲染不一致等。针对"PNG绘制的奇怪问题",这个问题可能与图像的Alpha通道处理有关。
php json_encode奇怪问题说明
接下来,我们探讨下在使用json_encode() 函数中可能出现的“奇怪问题”。
牛客 – 奇怪的背包问题增加了(贪心)
【奇怪的背包问题增加了(贪心)】是一个典型的动态规划或贪心算法问题,来源于牛客网的在线编程挑战。该题目要求解决一个背包问题,但具有一定的特殊性,适合用贪心策略来解决。
一个奇怪的问题使用ajax提交必须alert才能赋值
一个奇怪的问题,在使用ajax提交的时候将返回值赋给一个变量,无论怎么写都没法赋值,刚开始怀疑js有错但是ie没有反应过来,多次清缓存、部程序都没效果。。。。。。最后只好一行一行的alert看原因出在
奇怪的PHP引用效率问题分析
标题中的“奇怪的PHP引用效率问题分析”涉及的是在PHP编程中关于引用和效率的一个具体示例。


网络编程
