首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >面向对象(二十四)-Socket,TCP客户端、服务端简单聊天室

面向对象(二十四)-Socket,TCP客户端、服务端简单聊天室

作者头像
孙寅
发布2020-06-02 15:23:54
发布2020-06-02 15:23:54
5910
举报
文章被收录于专栏:宜达数字宜达数字
1. 服务端代码
代码语言:javascript
复制
// 1. 新建一个Socket 服务器端 连接对象
            // 参数 寻址范围,数据类型,协议格式
            Socket tcpServer = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            byte[] ip = { 192, 168, 199, 117 };
            IPAddress address = new IPAddress(ip);
            IPEndPoint point = new IPEndPoint(address, 8090);
            tcpServer.Bind(point); // 2. 绑定Ip和端口号
            tcpServer.Listen(100); // 3. 设置监听连接的最大请求数
            Socket newSocket = tcpServer.Accept(); // 4. 等待客户端的连接,会阻塞当前线程,直到接收到客户端的连接

            string sendMessage = "Hello Welcome Connect";
            newSocket.Send(Encoding.UTF8.GetBytes(sendMessage)); // 5.向客户端发送一条消息

            byte[] data = new byte[1024];
            int length = newSocket.Receive(data);
            Console.WriteLine("接收到客户端的数据"+Encoding.UTF8.GetString(data, 0, length));
            Console.ReadKey();
2. 客户端代码
代码语言:javascript
复制
//1. 建立客户端连接对象 
            // 参数 寻址范围,数据类型,协议格式
            Socket clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

            // 2. 建立一个连接,请求连接到服务器
            clientSocket.Connect(new IPEndPoint(new IPAddress(new byte[] { 192, 168, 199, 117 }), 8090));

            // 建立一个用来接受数据的容器
            byte[] data = new byte[1024];
            // 3. 接受服务端发送的数据
            int length = clientSocket.Receive(data); // 该数组用来接受数组,接受服务端传递的数据 , 返回值,用来表示本次接收到的数据长度
            // 4. 将服务器端发送过来的数据转换成字符串
            string reciveMessage = Encoding.UTF8.GetString(data, 0, length);
            Console.WriteLine(reciveMessage);

            string message = Console.ReadLine();
            clientSocket.Send(Encoding.UTF8.GetBytes(message));

            Console.ReadKey();
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 服务端代码
  • 2. 客户端代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档