C#搭建Socket服务器与客户端,助你快速入门(极简版)

avatar
作者
猴君
阅读量:2

一、服务器的搭建

新建一个C#控制台应用,用于搭建服务器。

// 设置接收字节的容器,容量大小为1024个字节,客户端发来的字节都存在这里 static byte[] buffer = new byte[1024];  static void Main(string[] args) {     // 建立Tcp服务器socket,名为server,用于监听客户端连接     Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);      // 配置端口。“127.0.0.1”是本机IP地址,也可在命令提示符(黑窗口)输入ipconfig,查看ipv4地址     // 7777是端口号、可在1025~65535随便选。     EndPoint endpoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 7777);      // 绑定端口     server.Bind(endpoint);      // server开始监听客户端连接。10,是指服务器能够同时允许10个客户端连接,可写其他     server.Listen(10);     Console.WriteLine("服务器开启成功,开始监听~");      // 当有客户端接入时,新建名为serverManager的Socket,用于接收客户端的消息。     // 前面的server是接收客户端消息用,而这里的serverManager是接收客户端消息用,各司其职。     Socket serverManager = server.Accept();          // 返回收到的字节的实际长度     int length = serverManager.Receive(buffer);          // 用Encoding.UTF8.Getstring(),将收到的实际长度的字节转化为string类型     string mes = Encoding.UTF8.GetString(buffer, 0, length);     Console.WriteLine("收到了" + length + "个字节,内容为:" + mes);          Console.ReadKey(); }

注:serverManager除了接收消息,也可以发送消息。基本除了监听,其他活它都干。

二、客户端的搭建

再建一个C#控制台应用,用于搭建客户端。

static void Main(string[] args) {     // 建立Tcp客户端socket,名为client,用于监听客户端连接,和建立服务器的Socket一样的配方     Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);      // 配置端口,“127.0.0.1”、7777,均和服务器保持一致     EndPoint endpoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 7777);      // 接入端口     client.Connect(endpoint);      string content = "这里是客户端";      // 用Encoding.UTF8.GetBytes(),将要发送的内容转化为字节     byte[] data = Encoding.UTF8.GetBytes(content);      // 发送字节     client.Send(data); }

搭建好之后,先运行服务器端,

再运行客户端。

一个简单的服务器和客户端就搭建完成。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!