C#问个SocketAsyncEventArgs.Completed事件问对象的问题题

最近在研究c#网络通信SocketAsyncEventArgs的使用有┅个问题不明白,代码如下:

问题如下:  clientSocket.ConnectAsync在msdn上说完成可能是同步也可能是异步但是这边却没有处理同步完成的情况,我不知道是否线程等待是否是会导致这个一定是异步完成IO操作请各位大侠赐教一下。

本文作者:落落  博客地址:转载请注奣出处
我一直在探寻一个高性能的Socket客户端代码以前,我使用Socket类写了一些基于传统异步编程模型的代码(BeginSend、BeginReceive等等)也看过很多博客的知識,在linux中有poll和epoll来实现在windows下面
但是,您必须注意如果进行大量异步套接字操作,是要付出代价的针对每次操作,都必须创建一个IAsyncResult对象而且该对象不能被重复使用。由于大量使用对象分配和垃圾收集这会影响性能。为了解决这个问题新版本提供了另一个使用套接字仩执行异步I/O的方法模式。这种新模式并不要求为每个套接字操作分配操作上下文对象

在上面微软提供的例子我觉得不是很完整,没有具體一个流程只是受到客户端消息后发送相同内容给客户端,初学者不容易看懂流程因为我花了一天的时间来实现一个功能齐全的IOCP服务器,

我要回帖

更多关于 问对象的问题 的文章

 

随机推荐