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

一、服务器的搭建

新建一个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);
}

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

再运行客户端。

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

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/learninger_lt7/article/details/131374089

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值