c# socket客户端发送数据分别是:"aaa","aaabbb","vvv";服务端收到的数据分别是:"aaa","aaabbb","vvvbbb";
时间: 2023-12-23 14:04:43 浏览: 31
以下是一个C#的示例代码,展示了如何使用Socket实现客户端发送数据,服务端接收数据,并实现双方的应答模式:
服务端代码:
```csharp
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
public class Server
{
public static void Main()
{
// 监听的IP地址和端口号
IPAddress ipAddress = IPAddress.Parse("127.0.0.1");
int port = 8888;
// 创建TCP监听器
TcpListener listener = new TcpListener(ipAddress, port);
// 开始监听
listener.Start();
Console.WriteLine("Server started. Waiting for connections...");
while (true)
{
// 接受客户端连接
TcpClient client = listener.AcceptTcpClient();
Console.WriteLine("Client connected.");
// 获取网络流
NetworkStream stream = client.GetStream();
// 接收客户端发送的数据
byte[] buffer = new byte[1024];
int bytesRead = stream.Read(buffer, 0, buffer.Length);
string receivedData = Encoding.ASCII.GetString(buffer, 0, bytesRead);
Console.WriteLine("Received data from client: " + receivedData);
// 处理接收到的数据
string responseData = receivedData + "bbb";
// 发送响应数据给客户端
byte[] responseBytes = Encoding.ASCII.GetBytes(responseData);
stream.Write(responseBytes, 0, responseBytes.Length);
Console.WriteLine("Sent response to client: " + responseData);
// 关闭连接
client.Close();
Console.WriteLine("Client disconnected.");
}
}
}
```
客户端代码:
```csharp
using System;
using System.Net.Sockets;
using System.Text;
public class Client
{
public static void Main()
{
// 服务器的IP地址和端口号
string serverIP = "127.0.0.1";
int serverPort = 8888;
// 创建TCP客户端
TcpClient client = new TcpClient();
// 连接服务器
client.Connect(serverIP, serverPort);
Console.WriteLine("Connected to server.");
// 获取网络流
NetworkStream stream = client.GetStream();
// 发送数据给服务器
string[] sendData = { "aaa", "aaabbb", "vvv" };
foreach (string data in sendData)
{
byte[] buffer = Encoding.ASCII.GetBytes(data);
stream.Write(buffer, 0, buffer.Length);
Console.WriteLine("Sent data to server: " + data);
// 接收服务器的响应数据
byte[] responseBuffer = new byte[1024];
int bytesRead = stream.Read(responseBuffer, 0, responseBuffer.Length);
string responseData = Encoding.ASCII.GetString(responseBuffer, 0, bytesRead);
Console.WriteLine("Received response from server: " + responseData);
}
// 关闭连接
client.Close();
Console.WriteLine("Disconnected from server.");
}
}
```
请注意,以上代码仅为示例,实际应用中可能需要进行错误处理、异常处理等。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)