在哪个网站做整形,网址大全123设为主页,营销型网站的作用是,网站怎么制作教程Networkcomms 是一款C# 语言编写的TCP/UDP通信框架 作者是英国人 以前是收费的 目前作者已经开源 开源地址是:https://github.com/MarcFletcher/NetworkComms.Net networkcomms通讯框架使用简单方便,性能稳定. 从github上下载到源码后,需要Visual studio安装nuget 加载相关D… Networkcomms 是一款C# 语言编写的TCP/UDP通信框架 作者是英国人 以前是收费的 目前作者已经开源 开源地址是:https://github.com/MarcFletcher/NetworkComms.Net networkcomms通讯框架使用简单方便,性能稳定. 从github上下载到源码后,需要Visual studio安装nuget 加载相关DLL. 用VS打开解决方案后删除上图中暂时用不到的项目然后进行编译 networkcomms默认使用protobuf进行数据的序列化. 下面通过一个简单的例子使用NetworkComms框架进行简单的客户端与服务器的通信。 1、新建2个WinForm的项目 第一步是 添加引用引用2个项目 一个是networkcomms通信框架 一个是ProtobufSerializer 。NetworkComms是通信框架ProtobufSerializer是序列化用的 监听代码 //IP地址和端口IPEndPoint thePoint new IPEndPoint(IPAddress.Parse(txtIP.Text), int.Parse(txtPort.Text)); //开始监听此IP和端口 使用TCP协议Connection.StartListening(ConnectionType.TCP, thePoint); 客户端连接服务器代码 //连接信息 connInfo new ConnectionInfo(txtIP.Text, int.Parse(txtPort.Text)); //连接服务器newTcpConnection TCPConnection.GetConnection(connInfo); 通过上面的几步,客户端就同服务器端取得了联系,NetowrkComms通信框架会自动发送心跳包,保持客户端与服务器端之间的TCP连接. 那么服务器端与客户端如何通信呢 比如客户端发起一个请求服务器端回复一个请求。这就涉及到一个消息类型的概念。 使用networkcomms 通信框架时客户端发送消息给服务器端是需要制定当前消息的消息类型和期待返回的消息类型。服务器端返回消息时指定客户端期待返回的消息类型。 这样客户端就能获取到响应的返回消息。 示例 客户端从服务器获取响应的英文名称 客户端代码 string resMsg newTcpConnection.SendReceiveObjectstring, string(GetName, ResName, 5000, listBox1.Text);MessageBox.Show(英文名称是 resMsg); GetName 是请求的消息类型 ResName 是期待的返回的消息类型 在服务器端 我们编写代码时处理 GetName类型的消息时返回消息类型设定为ResName 即可 如下 服务器端代码 private void button1_Click(object sender, EventArgs e) { //IP地址和端口 IPEndPoint thePoint new IPEndPoint(IPAddress.Parse(txtIP.Text), int.Parse(txtPort.Text)); //开始监听此IP和端口 使用TCP协议 Connection.StartListening(ConnectionType.TCP, thePoint); //关联消息类型为GetName的消息的处理方法 NetworkComms.AppendGlobalIncomingPacketHandlerstring(GetName, IncomingMsgHandle); button1.Text 已经开始监听; } private void IncomingMsgHandle(PacketHeader header, Connection connection, string msg) { try { string resMsg ; if (msg 星期一) resMsg Monday; else if (msg 星期二) resMsg Tuesday; else if (msg 星期三) resMsg Wednesday; else if (msg 星期四) resMsg Thursday; else if (msg 星期五) resMsg Friday; else if (msg 星期六) resMsg Saturday; else if (msg 星期日) resMsg Sunday; connection.SendObject(ResName, resMsg); } catch (Exception ex) { } } 原文地址http://www.cnblogs.com/csdev/p/5783890.html .NET社区新闻深度好文微信中搜索dotNET跨平台或扫描二维码关注