随笔分类 -  Socket

摘要:上一篇中,我们已经学会了服务器的代码,至此我们的SOcket的TCP通讯连接已经完成。这一篇我们总结一下。服务器开启后,开始异步监听客户端连接。客户端连接时,实例化TCPListenerClient,并开始异步监听数据。接收到数据时,判断数据长度,0则为断开连接,不为0则引发接收数据完成事件。可以通过TCPListenerClient发送数据或断开连接。服务器关闭时要先断开所有客户端连接。客户端连接服务器,开始异步接收服务器数据。接收到数据时,判断数据长度,0则为断开连接,不为0则引发接收数据完成事件。客户端连接服务器后,可以发送数据与断开连接。SocketHandler是专门处理接收发送的对 阅读全文
posted @ 2013-03-10 13:13 Kation 阅读(6541) 评论(28) 推荐(5) 编辑
摘要:上一篇中,我们编写了SocketHandler处理Socket的IO。 现在我们只剩下服务器端了。 服务器端包含两个类,一个TCPListener,一个TCPListenerClient。 TCPListener只管Start与Stop还有Accept。 TCPListenerClient是连接到服 阅读全文
posted @ 2013-03-07 01:51 Kation 阅读(8988) 评论(12) 推荐(4) 编辑
摘要:上一篇中,我们编写了客户端功能。 这一篇将讲解ISocketHandler的实现。 再来回顾一下ISocketHandler接口。 做一个类SocketHandler继承ISocketHandler接口 增加两个属性与构造函数。 StateSet可以保存我们的异步调用结果等数据 SendQueue用 阅读全文
posted @ 2013-03-06 22:49 Kation 阅读(10002) 评论(10) 推荐(3) 编辑
摘要:本文章将讲解基于TCP连接的Socket通讯,使用Socket异步功能,并且无粘包现象,通过事件驱动使用。在编写Socket代码之前,我们得要定义一下Socket的基本功能。作为一个TCP连接,不论是客户端还是服务器端,它都得有以下接口:public interface ISocket{ /// <summary> /// 获取是否已连接。 /// </summary> bool IsConnected { get; } /// <summary> /// 发送数据。 /// </summary> /// <param name=" 阅读全文
posted @ 2013-03-06 21:07 Kation 阅读(20674) 评论(12) 推荐(7) 编辑