c# tcpclient 同步
时间: 2023-08-20 13:10:09 浏览: 108
在 C# 中,可以使用 `TcpClient` 类来进行 TCP 客户端的同步操作。以下是一个简单的示例代码,演示了如何使用 `TcpClient` 进行连接、发送和接收数据:
```csharp
using System;
using System.IO;
using System.Net.Sockets;
public class Program
{
public static void Main()
{
try
{
// 创建 TcpClient 对象并连接到服务器
TcpClient client = new TcpClient("127.0.0.1", 8080);
// 获取网络流对象
NetworkStream stream = client.GetStream();
// 发送数据
string message = "Hello, server!";
byte[] data = System.Text.Encoding.ASCII.GetBytes(message);
stream.Write(data, 0, data.Length);
// 接收服务器响应
data = new byte[256];
using (MemoryStream memoryStream = new MemoryStream())
{
int bytesRead;
do
{
bytesRead = stream.Read(data, 0, data.Length);
memoryStream.Write(data, 0, bytesRead);
} while (stream.DataAvailable);
// 处理服务器响应
string response = System.Text.Encoding.ASCII.GetString(memoryStream.ToArray());
Console.WriteLine("Server response: " + response);
// 关闭连接
client.Close();
}
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message);
}
}
}
```
上述代码连接到 IP 地址为 "127.0.0.1",端口号为 8080 的服务器。你可以根据自己的需要修改这些值。代码发送一条消息到服务器,并打印出服务器的响应。最后,代码关闭连接。
请注意,上述代码是同步执行的,即发送和接收操作都是阻塞的,直到完成或发生错误。如果你需要异步操作,请考虑使用 `TcpClient` 提供的异步方法。
阅读全文