win7 异步socket发生问题
来源:互联网 发布:虚拟货币挖矿网站源码 编辑:程序博客网 时间:2024/06/10 16:53
在定时任务线程中,使用异步socket作为client, EndConnect成功,但是取得RemoteEndPoint时候发生 SocketException:
Exception: 系统检测到在一个调用中尝试使用指针参数时的无效指针地址。
从Server端看到的是:
10053(WSAECONNABORTED):
无法从传输连接中读取数据: 您的主机中的软件中止了一个已建立的连接。
或者:
无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的连接。
在一个简单程序中试验,同样的代码没有问题。
快烦死了,断断续续查了好几天。 调查过程:
0. 关闭360杀毒,木马,windows 防火墙。 统统没有效果!
1. 打开Network tracing(http://msdn.microsoft.com/en-us/library/a6sbz1dx.aspx). 经过仔细对比,发现BeginConnect()调用后:
在简单验证程序中,没有发生BeginConnecttEx()
在发生问题的程序中,BeginConnect()会导致内部调用BeginConnectEx()
2. google 搜搜BeginConnectEx, 全球没有几个,呵呵. 找到下面文章:
Possible System.NET bug? SocketException when performing Async download in Async thread
http://social.msdn.microsoft.com/forums/en-US/netfxnetcom/thread/2cb74a7e-6e8f-4d05-b86a-2401df5d2ed3/
3. 以此为线索,找到 :
在 Windows Server 2003、Windows VISTA、Windows XP 中修复损坏的 Winsock2
http://support.microsoft.com/kb/811259
按照其中的提示,Msinfo32 发现winsock2的 部分多了几个iku6的什么东东。 不管了,按照提示修复:
netsh winsock reset
然后重新启动。试试,OK乐。
天哪,花费我太多时间!!!!!!!!!
附:OK后的连接过程:
System.Net.Sockets Verbose: 0 : [5116] Exiting DNS::GetHostAddresses() -> IPAddress[]#58501464System.Net.Sockets Verbose: 0 : [5116] Socket#8318867::Socket(InterNetwork#2)System.Net.Sockets Verbose: 0 : [5116] Exiting Socket#8318867::Socket() System.Net.Sockets Verbose: 0 : [5116] Socket#8318867::BeginConnect(1:110#26877122)System.Net.Sockets Verbose: 0 : [5116] Socket#8318867::BeginConnectEx()System.Net.Sockets Verbose: 0 : [5116] Socket#8318867::InternalBind(0:0#0)System.Net.Sockets Verbose: 0 : [5116] Exiting Socket#8318867::InternalBind() System.Net.Sockets Verbose: 0 : [5116] Exiting Socket#8318867::BeginConnectEx() -> ConnectOverlappedAsyncResult#36573035System.Net.Sockets Verbose: 0 : [3616] Socket#8318867::EndConnect(ConnectOverlappedAsyncResult#36573035)System.Net.Sockets Verbose: 0 : [3616] Exiting Socket#8318867::EndConnect() System.Net.Sockets Verbose: 0 : [6032] Socket#5794280::Send()System.Net.Sockets Verbose: 0 : [6032] Data from Socket#5794280::Send
- win7 异步socket发生问题
- socket异步处理问题
- socket异步处理问题
- socket异步处理问题
- socket异步处理问题
- socket异步处理问题
- socket异步处理问题
- socket异步处理问题
- socket异步处理问题
- socket异步处理问题
- socket异步处理问题
- socket异步处理问题
- socket异步处理问题
- socket异步处理问题
- socket异步处理问题
- socket异步处理问题
- socket异步处理问题
- socket异步处理问题
- H CodeForces 159C String Manipulation 1.0
- Nginx搭建HTTPS服务器
- 应用run后Launcher中没有,也没有launching的原因
- Access/SqlServer->MYSQL的工具
- 我心目中的UBIFS之wandering tree
- win7 异步socket发生问题
- Linux netfilter 深度解析-对比Cisco 的ACL
- fixe repo sysnc err:Exited sync due to gc errors on Ubuntu 10.04 LTS
- 求和(单例模式,初始化列表,容器,迭代器)
- UVA 1400
- linux下so动态库一些不为人知的秘密
- cocos2d-x游戏开发(九)重要的基类CCNode
- 【Ubuntu】2 VMware Workstation安装
- YII之yiic创建YII应用