win7 下运行游戏发现界面卡很久,跟踪发现卡在了connect( )。
游戏中connect 工作在阻塞模式下,阻塞可以接受。但是阻塞了5S 以上就感觉很奇怪。
而且只在一台电脑上发生这种情况。与服务器联调,并抓包。发现真正发起连接到连接成功其实非常快的。
时间主要耗在调用 connect 到显卡 发出连接请求之间。
于是在出问题的电脑上 想要断点调一下connect。发现VS 附加到进程的时候 提示
A remote operation is taking longer than expected
远程操作花费的时间比预期长
上网查找原因后发现一个解决方案
解决办法:
这是因为64位win7 32位应用程序访问网络可能出错造成的,因为vs2012是win32程序,所以需要重置一下网络
以管理员身份运行命令行,在弹出的窗口中运行如下命令:
netsh winsock reset catalog netsh int ip reset reset.log hit
然后重启机器(不重启问题也没啥问题)
看到这几条命令,猜想到我遇到的问题可能就是这个原因导致的。VS,应该是通过网络进程间通信 调试正在运行的程序
正好我们的游戏也是编译的win32。 设置好后启动游戏。发现连接几乎感觉不到任何阻塞。