顶一下,没人遇到过吗?
我在网上搜了一下,但是还是没有解决问题?这个阻塞的socket为什么会10035错误? 怎么解决呢?
我在网上搜了一下,但是还是没有解决问题?这个阻塞的socket为什么会10035错误? 怎么解决呢?
解决方案 »
- 有关asp.net单点登录
- C#里datagridview显示问题
- gridview任务中只有启用分列,启用排序,启用选定内容,却没有编辑和删除,怎么显示?
- 如何通过代码修改web.Config?
- c# 截取文本区内的图片
- 要做项目了,想知道哪里有仓库管理系统的流程,谢谢帮忙!
- .net与java间的socket通信的问题
- 急救,知道GetManifestResourceStream()用法的请进
- 水晶报表
- C# 如何修改优盘高级权限中的所有者
- 谁有office 2000 developer光盘中带的Adoproperties.doc,急!
- 请教我用C#连接Oracle老是提示命名空间System.Data中不存在OracleClient(!急!!拜托了)
但是问题的关键是,我用的是阻塞的socket... 在接收时,开始正常,但稍后就会出现10035异常.....是阻塞模式(blocking == true)的socket...为什么?呢?
1. 程序是多线程,一般为10~20下载线程2. 没用C#自身封装的HttpWebRquest和HttpWebResponse是因为在之前用的时候多线程下载发现速度很慢,经常阻塞在下载过程中,后来发现HttpWebRquest的GetResponse调用过程中是同步的(反汇编显示lock(this){...}),每次只有一个线程连接和下载... 所以就自己用socket重新实现了一下3. 一般来说在系统内部socket的send和recieve做的工作其实只是把数据传输(Copy)到TCP/IP协议栈的输出缓冲区或者从中读取数据,但是对于非阻塞的socket在send时遇到缓冲区满或者recieve是没有数据才会引发10035 error啊 我这里用的应该是默认的blocking的套接字... 系统也不会更改这个属性吧?那怎么会在接收时也收到10035 WSAEWOULDBLOCK 这个异常呢?望达人指点一二... 分数送上哈,谢了
上个图,就是这样的error... 郁闷了期待达人...
http://social.msdn.microsoft.com/Forums/en-US/netfxnetcom/thread/726b9516-0ccd-40e1-829f-2fd5998904d4