.Net3.5新的Socket异步模式总结
来源:互联网 发布:ie内核浏览器for mac 编辑:程序博客网 时间:2024/04/29 02:42
1)新的异步方法为:xxxAsync(xxx 为Receive,Send,Accept);方法参数为SocketAsyncEventArgs
2)SocketAsyncEventArgs的重点:
SetBuff方法:设置将进行异步操作的数据区;当Receive操作时,如果该缓冲区设置过小,则Receive操作会作几次返回,即每次返回的BytesTransferred不会超过设置的Buffer长度
UserToken属性:可以设置任意的用户对象,当异步操作返回后(通过调用回调函数),可获取该对象取得相应状态,由于AsyncEventArgs不保存socket信息,一般这里面至少要保存该连接的Socket
Completed事件:这个事件触发,代表异步操作完成
AcceptSocket:对应AcceptAsync接收连接的客户端Socket
3)当已经调用异步操作后,其对应的SocketAsyncEventArgs的成员属性不能被修改(改了不起作用,但会影响下一次异步操作),但是可以在异步操作返回后(即在回调函数内部)改变其属性
4)对Receive的回调函数,可在这里进行协议判断,把完整的数据包取出来,如果获取的数据包并不完整,则可以通过SetBuffer改变Buffer下次接收的Offset,使下次接收操作中,在当前的Buffer后面附加数据。但是注意,这里设置的Offset长度不能超过对应Buffer的最大长度,否则下次接收时会出错,导致客户端连接断开
- .Net3.5新的Socket异步模式总结
- .net3.5下的Socket通信框架
- 一点异步Socket的总结
- .Net3.5 Socket事件通知封装类
- 。net3.5 Socket全事件封装类
- Net3.5 Socket事件通知封装类
- .NET3.5中的高性能 Socket API
- ASP.NET3.5 新特性Introduce
- VS2008和.NET3.5Beta2新特性
- [转贴].NET3.5新特性,Lambda表达式
- [转贴].NET3.5新特性,Lambda表达式
- 基于.Net3.5编写,全异步操作。支持TCP、UDP两种方式,全事件模式通知。
- 翻译:使用.net3.5的缓存池和SocketAsyncEventArgs类创建socket服务器
- 微软.NET3.5 的事务
- 离线.net3.5的制作
- 异步Socket通信总结
- 异步Socket通信总结
- 异步Socket通信总结
- 解决Outlook运行慢的问题
- 运行Silverlight报错可能与金山词霸有关
- C#Sqlserver2000
- 打印集合所有的子集
- 10-1 使用数据视图便捷类(Using the Item View Convenience Classes)
- .Net3.5新的Socket异步模式总结
- drop all tables in database by T-SQL in SQLServer
- 随笔——感悟个人能力提高的三个阶段
- C# 加密
- 实现细线表格
- 同名model导致的Invalid operation for the current cursor position
- 一般的对表单数据验证的javascript代码收集
- 安装SQL Server2000 与 SP4补丁时挂起解决
- 重载++运算符