您的位置:首页 > 其它

.Net异步Socket封装 一

2010-07-09 14:14 169 查看
既然要决定写一系列的文章,必定要有项目,OK 因为是网络开发 就名为 “Shu.Net” 然后再这个框架内依次添加相关的那内容。

Socket作为网络开发兄弟很熟悉,一切的网络程序的源泉,如:HTTP、FTP、包括自定义协议若干的服务器及客户端等。

既然是C/S程序,那么也上一张通用的Socket通讯流程图:



嘿嘿,所有的网络程序都逃不脱这个通讯流程。

由于是异步Socket开发,在这里需要详细了解.NET中的System.Net.Sockets下的Socket与SocketAsyncEventArgs两个类。

SocketAsyncEventArgs是.Net2.0后新添加的高性能的网络服务器而设计的,实际上底层就是采用IOCP实现的,所以在开发高并发异步通讯程序的时候比以前大大提高性能。

下面来看看咱们将要实现的基本目标,我画了一个很简单的图:



看吧,很简单吧!

TcpServers 这是我们将要封装的Tcp服务器类。

TcpServersListener 是Tcp服务器监听类。

TcpClients 是客户端类

TcpClientsConnect 客户端连接类

TcpSocketManager 这个是 客户端与服务器端可以通用的Tcp Socket 管理类

当然这时候大伙会说,内存池呢? Socket池呢? 客户端断线重连接呢? 你这玩意这么简单、这么垃圾,能用来干嘛。。。还说高性能呢。。。

嘿嘿,各位慢慢来嘛,咱们后边还有很长时间。。。一步一步往里面加嘛,这仅仅是基础结构! 我是把它分解了,这样显得结构清晰,不至于给人感觉胖大。。。

OK 结构图出来了,下节咱们来实现。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: