一个自己写的简化版的socket框架

网友投稿 825 2022-10-25

一个自己写的简化版的socket框架

一个自己写的简化版的socket框架

Csharp TCP协议的简单封装

报头: (int)密码 + (int)包总长 包体: 一个序列化过后的字符串

感谢MSDN,感谢Google上面找到了很多有用的知识点.

Test

创建一个服务端

class Test_Server { public static void Main(String[] args) { IPAddress addr = IPAddress.Parse("127.0.0.1"); SocketServer server = new SocketServer(addr, 6666); server.OnClientConnected += server_OnClientConnected; server.OnClientDisconnected += server_OnClientDisconnected; server.StartListen(); Console.Read(); server.StopListen(); } static void server_OnClientDisconnected(ConnectEventType type, SocketEventArgs args) { Console.WriteLine("One Client DisConnected: ip" + args.RemoteAddress); } static void server_OnClientConnected(ConnectEventType type, SocketEventArgs args) { Console.WriteLine("One Client Connected: ip" + args.RemoteAddress); } }

创建一个简单的客户端

class Test_Client { public static void Main(String[] args) { SocketClient client = new SocketClient("127.0.0.1", 6666); client.OnConnected += client_OnConnected; client.OnReceived += client_OnReceived; client.OnConnectFailed += client_OnConnectFailed; client.OnDisConnected += client_OnDisConnected; client.Connect(); Console.Read(); client.DisConnect(); } static void client_OnDisConnected(ConnectEventType type, SocketEventArgs args) { //客户端丢失和服务端的链接 Console.WriteLine("服务端关闭"); } static void client_OnConnectFailed(ConnectEventType type, SocketEventArgs args) { Console.WriteLine("链接服务端失败"); } static void client_OnReceived(object sender, ReceiveEventArgs e) { Console.WriteLine("收到数据包个数:" + e.Packets.Count); } static void client_OnConnected(ConnectEventType type, SocketEventArgs args) { Console.WriteLine("链接服务端成功"); } }

当中大部分都是封装了事件,方便用户回调使用

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:KubeEdge是一个Kubernetes原生边缘计算框架
下一篇:HDU 2604 Queuing (递推+矩阵快速幂)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~