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

作者 : admin 本文共1469个字,预计阅读时间需要4分钟 发布时间: 2024-06-17 共1人阅读

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();这一段会报错。。。如何完美停止?

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


五、源码:

C#使用Scoket实现服务器和客户端互发信息插图(1)

链接: 度盘
提取码:ihdp 

 


END

本站无任何商业行为
个人在线分享 » C#使用Scoket实现服务器和客户端互发信息
E-->