SocketAsyncEventArgs
来源:互联网 发布:九宫图算法15 编辑:程序博客网 时间:2024/04/29 08:01
独立开发的游戏服务器端敲完了(告别BUG!!!!) 写个博客(总结)出来
介绍(大概都知道) SocketAsyncEventArgs是.NET Framework 3.5出的
SocketAsyncEventArgs常用的成员
Buffer
BytesTransferred
SocketError
UserToken
BytesTransferred
SetBuffer
Completed
///////////只列出了主要方法~
Accept监听
bool b= socket.AcceptAsync(e); if (!b){ //注意这里要上锁 lock(e) { ProcessAccept(e); }}
Receive监听
<pre name="code" class="csharp">bool b= userToken.connect.ReceiveAsync(userToken.ReceiveEventArgs); if (!b){ lock (userToken) //这里也要加锁 { ProcessReceive(userToken.ReceiveEventArgs); } }
<pre name="code" class="csharp">//判断网络消息接收是否成功if (userToken.ReceiveEventArgs.BytesTransferred > 0 && userToken.ReceiveEventArgs.SocketError == SocketError.Success){ //...处理消息和再次开启消息监听}
IO_Completed
<pre name="code" class="csharp">lock (userToken) { if (e.LastOperation == SocketAsyncOperation.Receive) { ProcessReceive(e); } else if (e.LastOperation == SocketAsyncOperation.Send) { ProcessSend(e); } }
Send
<pre name="code" class="csharp">sendSAEA.SetBuffer(buff, 0, buff.Length);bool result = connect.SendAsync(sendSAEA);if (!result){ sendProcess(sendSAEA);//这里只是个回调}//之前在插入数据的时候我也上锁了 否则会数据混乱 尴尬...
<img alt="得意" src="http://static.blog.csdn.net/xheditor/xheditor_emot/default/proud.gif" />
0 0
- SocketAsyncEventArgs
- SocketAsyncEventArgs
- SocketAsyncEventArgs
- SocketAsyncEventArgs
- SocketAsyncEventArgs
- SocketAsyncEventArgs
- SocketAsyncEventArgs
- SocketAsyncEventArgs.SetBuffer
- SocketAsyncEventArgs Args
- SocketAsyncEventArgs 对象
- Extension Methods and SocketAsyncEventArgs
- 【MSDN】SocketAsyncEventArgs Class 使用说明
- SocketAsyncEventArgs.BytesTransferred 属性
- 初次使用SocketAsyncEventArgs
- SocketAsyncEventArgs使用解说
- SocketAsyncEventArgs使用解说
- 关于SocketAsyncEventArgs的一些理解
- 转:Socket.ConnectAsync 方法 (SocketAsyncEventArgs)
- c++ base-基本语法【暂】
- 计算1000年~2000年之间的闰年
- shader学习之路(2)- 贴图uv移动模拟水流效果
- 平移加旋转实现效果
- Linux系统下安装rz/sz命令及使用说明
- SocketAsyncEventArgs
- 出现The import javax.servlet cannot be resolved 的解决方法
- cocos2dx vs下模拟器屏幕变大后的触摸偏移
- 最长不下降子序列及二分优化
- jQuery Ajax 实例 全解析
- 使用mouseover()与mouseout()使鼠标覆盖后可以显示新的html元素
- zzuli1894: 985的方格难题
- 【JAVA WEB】学习笔记——XML解析
- 在layout里添加分割线