河曲智叟 发表于 2024-6-13 21:25:19

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

一、服务器的搭建
新建一个C#控制台应用,用于搭建服务器。
// 设置接收字节的容器,容量大小为1024个字节,客户端发来的字节都存在这里
static byte[] buffer = new byte;

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);
}
搭建好之后,先运行服务器端,
https://img-blog.csdnimg.cn/f05fdd16e0b74a26b2c4f04f5c26c449.png
再运行客户端。
https://img-blog.csdnimg.cn/c1f4576ecfaa422fbb55869062ebdf5f.png

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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: C#搭建Socket服务器与客户端,助你快速入门(极简版)