C#使用Scoket实现服务器和客户端互发信息

20240616

By wdhuag


目录

前言:

参考:

一、服务器端: 

1、服务器端口绑定:

2、服务器关闭:

二、客户端:

1、客户端连接:

2、客户端断开:

三、通讯:

1、接收信息:

2、发送信息:

四、问题:

五、源码:


前言:

如题,工作中用到了,做个小程序验证一下功能。


参考:

C#使用Socket发送和接收TCP数据示例_c#tcp通信获取对方port-CSDN博客

C#实现Socket_TCP/IP(客户端,服务器端通信)_c# - 获取tcp服务器端口的所有客户端-CSDN博客

c#实现最简单的socket通信(一对一)_c# socket tcp client一对一server-CSDN博客

C#中通过Socket实现一个简单的TCP\IP服务器和客户端的搭建_tcp 服务端 客户端制作c#-CSDN博客

C#服务端与多客户端进行Tcp通信_c# tcp server-CSDN博客

C#中Socket关闭 Close、Dispose、Shutdown、Disconnect - jshchg - 博客园 (cnblogs.com)

Socket的基本操作函数socket()、bind()、listen()、connect()、accept()、recv()、send()、select()、close()_socket函数和bind-CSDN博客

 


一、服务器端: 

1、服务器端口绑定:

private Socket serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

string ip = 服务器IP地址;
int port = 服务器端口;
EndPoint _endPoint = new IPEndPoint(IPAddress.Parse(ip), port);
serverSocket.Bind(_endPoint);    //绑定端口
serverSocket.Listen(100);    //最大连接数

2、服务器关闭:

serverSocket.Shutdown(SocketShutdown.Both);
serverSocket.Close();
serverSocket.Dispose();    //不释放资源无法重新连接


二、客户端:

1、客户端连接:

private Socket clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

string ip = 服务器ip地址;
int port = 服务器端口;
clientSocket.Connect(new IPEndPoint(IPAddress.Parse(ip), port));

2、客户端断开:

clientSocket.Disconnect(false);


三、通讯:

1、接收信息:

byte[] data = new byte[1024];
int length = clientSocket.Receive(data);
string message = Encoding.UTF8.GetString(data, 0, length);

2、发送信息:

string cmd = 信息;
clientSocket.Send(Encoding.UTF8.GetBytes(cmd));

 


四、问题:

1、服务器强行关闭Socket,clientSocket = serverSocket.Accept();这一段会报错。。。如何完美停止?


五、源码:

链接: 度盘
提取码:ihdp 

 


END

相关推荐

  1. C#实现简单同步Echo服务客户

    2024-06-17 09:38:01       41 阅读
  2. 04 使用gRPC实现客户服务通信

    2024-06-17 09:38:01       50 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-17 09:38:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-17 09:38:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-06-17 09:38:01       87 阅读
  4. Python语言-面向对象

    2024-06-17 09:38:01       96 阅读

热门阅读

  1. ThinkPHP 5.1.X 反序列化漏洞:深入分析与利用技巧

    2024-06-17 09:38:01       22 阅读
  2. Canada Cup 2016 D. Contest Balloons

    2024-06-17 09:38:01       37 阅读
  3. 数据分析面试八股文--业务场景类

    2024-06-17 09:38:01       27 阅读
  4. JDBC介绍-AI问答(通义千问)

    2024-06-17 09:38:01       29 阅读
  5. 金属表面处理

    2024-06-17 09:38:01       34 阅读
  6. QT高阶-QSS样式表用法大全

    2024-06-17 09:38:01       26 阅读
  7. TalkingData数据统计:大数据时代的洞察与应用

    2024-06-17 09:38:01       33 阅读
  8. mysql对VARCHAR和int的误解

    2024-06-17 09:38:01       27 阅读