博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# Socket系列1
阅读量:7068 次
发布时间:2019-06-28

本文共 2180 字,大约阅读时间需要 7 分钟。

最近开始学习C#的Socket 记录一下。

最简单的服务端

1   class Program 2     { 3         /* 4          1、实例化Socket对象 5          2、绑定端口和Ip(Bind) 6          3、接听客户端连接(Listen) 7          4、调用Accept取得客户端Socket 8          5、Send 和 Receive 收发数据 9          6、Close关闭Socket       10              */11         static void Main(string[] args)12         {13             Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);14             IPEndPoint endPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 8888);15             server.Bind(endPoint);16             server.Listen(10);17             server.BeginAccept(new AsyncCallback(AccepCallback), server);18             Console.ReadKey();19 20         }21 22         private static void AccepCallback(IAsyncResult ar)23         {24             Socket server = (Socket)ar.AsyncState;25             Socket client = server.EndAccept(ar);26             Console.WriteLine("收到{0}连接", client.RemoteEndPoint.ToString());27             byte[] data = Encoding.UTF8.GetBytes("客户端连接成功");28             int len = data.Length;29             client.Send(BitConverter.GetBytes(len));30             client.Send(data);31             server.BeginAccept(new AsyncCallback(AccepCallback), server);32 33         }34     }
View Code

最简单的客户端

1 class Program 2     { 3         static void Main(string[] args) 4         { 5             Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); 6             try 7             { 8                 client.Connect("127.0.0.1", 8888); 9                 Console.WriteLine("连接成功");10                 byte[] buffer = new byte[4];11                 client.Receive(buffer);12                 int len = BitConverter.ToInt32(buffer, 0);13                 buffer = new byte[len];14                 client.Receive(buffer);15                 string msg = Encoding.UTF8.GetString(buffer);16                 Console.WriteLine(msg);17             }18             catch (Exception e)19             {20 21                 Console.WriteLine(e.Message);22             }23             Console.ReadKey();24         }25     }
View Code

 

转载于:https://www.cnblogs.com/PandaHome/p/9114149.html

你可能感兴趣的文章
centOS7-配置网络地址
查看>>
PCTA COMMAND:
查看>>
imap接收邮件
查看>>
mahout
查看>>
我的友情链接
查看>>
文件权限修改
查看>>
Web服务器 之 lighttpd 轻量级WEB服务器
查看>>
linux下dd命令详解
查看>>
struts2.x下url标签
查看>>
Ubuntu 14.04.2 LTS DeskTop 安装OpenGL
查看>>
SQL抓取每天日期
查看>>
FreeRADIUS + MySQL 安装配置笔记
查看>>
Portal开发中遇到的问题及解决方法
查看>>
python+PyQT+Eric安装配置
查看>>
Rsync + Crontab实现定时文件同步(首次全量+后续增量)
查看>>
我的友情链接
查看>>
基站使用api说明
查看>>
Android SharedPreferences
查看>>
linux 基本命令总结
查看>>
扫描原理 笔记总结 Beta-4
查看>>