C# Socket网络编程 服务器和客户端

本文详细介绍了一次TCP通信过程,包括服务器端的socket创建、IP地址与端口绑定、监听及客户端连接接受,以及客户端的socket创建、连接请求、信息接收与发送。通过实例代码展示了如何实现双向数据传输。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

服务器端:

//1.创建socket       (1)本地的网络(2)采用流形式(3)使用Tcp协议
Socket tcpSever =new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
//2.绑定IP地址和端口号  10.128.55.3
IPAddress ipAddress=new IPAddress(new byte[]{10,128,55,3});
EndPoint endPoint=new IPEndPoint(ipAddress,2333);
tcpSever.Bind(endPoint);
//3.开始监听(等待客户端连接)
tcpSever.Listen(100);//100是允许连接的最大数量
Socket clientSocket = tcpSever.Accept();//暂停当前线程,直到有一个客户端连接过来,之后进行下面的代码
string message = "连接成功...";
byte[] data = Encoding.UTF8.GetBytes(message);
clientSocket.Send(data);


//接收客户端发送的消息
byte[] data2=new byte[1024];
int length = clientSocket.Receive(data2);
Console.WriteLine(Encoding.UTF8.GetString(data2,0,length));

客户端:

//1.创建socket 同服务器端一样
Socket tcpClient=new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);

//2.向服务器端发送连接的请求
IPAddress ipAddress=IPAddress.Parse("10.128.55.3");//把一个字符串对象转换成IPAddress对象
EndPoint endPoint=new IPEndPoint(ipAddress,2333);
tcpClient.Connect(endPoint);

//3.接收服务器端传送过来的信息
byte[] data=new byte[1024];//新建存储信息的数组
int length = tcpClient.Receive(data);//这里的这个数组用来接收数据, length为接收了多少字节的数据
string message = Encoding.UTF8.GetString(data, 0, length);
Console.WriteLine(message);

//向服务器端发送消息
string sendMessage = Console.ReadLine();//读取用户的输入
tcpClient.Send(Encoding.UTF8.GetBytes(sendMessage));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值