.NET Socket编程 超时时间的理解
2015-08-27 09:10
267 查看
Socket通讯时超时的概念在两个地方会涉及,一个是创建链接的过程超时,另一个是发送、接收数据包超时。
而C#的Socket实现不支持设置连接超时时间,因此,C#中所有设置超时时间的方法都是针对后者。
在C#中可以通过SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 6000);设置超时时间,这里指的都是发送或者接收数据包的最长等待时间。
测试方法也很简单,对于发送超时,只需借用死循环,持续向服务端发送数据,达到设置的超时时间后,连接就会断开。
对于接收超时,在服务端接收到数据后不给客户端返回任何数据,客户端在到达超时时间后也会断开。
而C#的Socket实现不支持设置连接超时时间,因此,C#中所有设置超时时间的方法都是针对后者。
在C#中可以通过SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 6000);设置超时时间,这里指的都是发送或者接收数据包的最长等待时间。
测试方法也很简单,对于发送超时,只需借用死循环,持续向服务端发送数据,达到设置的超时时间后,连接就会断开。
对于接收超时,在服务端接收到数据后不给客户端返回任何数据,客户端在到达超时时间后也会断开。
相关文章推荐
- python包的安装与卸载
- java多线程(七)提高锁的效率——使用读写锁
- Git时间,对代码的管理
- python setuptools工具
- Java-clone总结
- Java-clone总结
- Java-clone总结
- ASP.NET- 执行SQL超时的解决方案
- 【转】一小时学会用Python Socket 开发可并发的FTP服务器!!
- php实现验证码的识别(初级篇)
- Java-transient总结
- Java-transient总结
- Java多线程 -- 阻塞栈
- Java-transient总结
- Java-Enumeration总结
- Java-Enumeration总结
- CDHtmlDialog的基本使用(C++调用JS函数的实现)
- Java-Enumeration总结
- Java-Iterator总结
- Java-Iterator总结