欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 能源 > C#使用Scoket实现服务器和客户端互发信息

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

2025/2/23 1:20:01 来源:https://blog.csdn.net/qq_43149632/article/details/139727851  浏览:    关键词: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、服务端接收信息:

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

3、发送信息:

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


四、问题:

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

2、服务端接收需要用多线程,不然只能接收最后连接客户端的信息。


五、源码:

链接: 度盘
提取码:ihdp 


END

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词