奇怪的WinSocket问题 因为你的全局变量不是你main中的变量呀!你在main中另外定义了一个CSocket Proxy;所以一直对这个局部变量进行初始化!以至于全局变量没有任何操作!去掉main第一行的Socket Proxy;不就好了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 csocket类型的proxy和client必须具有同样的属性。你的程序错误在go函数里面。1。client需要创建2。client的属性(比如端口)要和proxy一样。 UINT Go(void * pParam){ CSocket Client; char Buffer[10240]; // client.Create(PROXYPORT)); // if (!Proxy.Accept(Client))//接受数据,在这里出错!! { printf("Client connection to Proxy failed\n",GetLastError()); getch(); return -1; } int n = Client.Receive(Buffer,10240);} 不行吧。你的main( )函数一下子就退出了,程序也就结束了。不能保证GO线程能够完成操作吧。 还是不行,在运行到client.Create(PROXYPORT);的时候就出错了,说map_pp.cpp错误!呜呜,我头都大了! 我是节选其中一部分,原来是单线程的,我现在想改为多线程,只是不知道为什么在子线程里面一调用CSocket就出错了!请问你们具体怎么实现多线程的?? 你最好重载一下 csocket类。然后重新定义虚函数OnAccept,OnReceive等。这样结构会比较好。你的结构有点混乱。 你新建的Go线程不是一个窗口线程,CSocket和CAsyncsocket必须在窗口线程下使用。 窗口线程我也没有用过, 看看MSDN吧。需要什么RUNTIME_CLASS的,MFC的机制我还是比较糊涂。我去也看看……为什么那么多人都喜欢用MFC的socket类,socket API很好用啊,我都不用Csocket和CAsynsocket了,因为它们是利用窗口的消息机制来实现响应消息的,在CAsyncSocket::Create( )里MFC会调用CreateWindowEx( ),如果当前线程不是窗口线程,这个调用就会失败,然后CAsyncSocket::Create( )也就失败了。 MFC中关于sendmessage函数的使用 套接字地址问题 win32控制台应用程序 支持mfc 用消息循环为什么报错? 求助:如何获取单个编辑框内容的问题 如何使其他程序窗口中的按钮自动按下 程序员在深圳群已经超过1600人,里面有很多在大公司上班的成员(包括国家级的研究院),有很多经验丰富的成员(包括参加过上亿元的项目的架构 dll中new对话框问题。 请教多个线程结束的问题? 菜鸟问题,高分求教 vc中下拉列表问题 我死定了,请大家帮忙,对子程序的调用中传值好像不对 该如何处理的问题
1。client需要创建
2。client的属性(比如端口)要和proxy一样。
{
CSocket Client;
char Buffer[10240];
//
client.Create(PROXYPORT));
//
if (!Proxy.Accept(Client))//接受数据,在这里出错!!
{
printf("Client connection to Proxy failed\n",GetLastError());
getch();
return -1;
}
int n = Client.Receive(Buffer,10240);
}
不能保证GO线程能够完成操作吧。
说map_pp.cpp错误!呜呜,我头都大了!
需要什么RUNTIME_CLASS的,MFC的机制我还是比较糊涂。
我去也看看……为什么那么多人都喜欢用MFC的socket类,socket API很好用啊,
我都不用Csocket和CAsynsocket了,因为它们是利用窗口的消息
机制来实现响应消息的,在CAsyncSocket::Create( )里MFC会
调用CreateWindowEx( ),如果当前线程不是窗口线程,这个调用
就会失败,然后CAsyncSocket::Create( )也就失败了。