C# 采用TCP/IP协议的Socket同步短连接方式,向服务器端口发送报文,示例代码
时间: 2024-11-30 13:14:12 浏览: 3
在C#中,如果你想要使用TCP/IP协议建立一个同步的短连接,你可以使用`TcpClient`类配合`NetworkStream`来完成。下面是一个简化的示例代码,展示如何向服务器发送一条消息并等待回复:
```csharp
using System;
using System.Net;
using System.IO;
class ShortConnectionExample
{
public static async Task Main()
{
const string serverAddress = "127.0.0.1";
const int serverPort = 65432; // 服务器端口号
try
{
// 创建TcpClient实例并打开连接
using var client = new TcpClient();
await client.ConnectAsync(serverAddress, serverPort);
// 获取连接的网络流
using var stream = client.GetStream();
// 编码消息
string message = "这是一个测试消息";
byte[] data = Encoding.ASCII.GetBytes(message);
// 写入数据
await stream.WriteAsync(data, 0, data.Length);
Console.WriteLine($"Sent message: {message}");
// 接受服务器的回应,假设读取的是同样长度的数据
byte[] replyBuffer = new byte[data.Length];
int receivedBytes = await stream.ReadAsync(replyBuffer, 0, replyBuffer.Length);
string serverReply = Encoding.ASCII.GetString(replyBuffer, 0, receivedBytes);
Console.WriteLine($"Received from server: {serverReply}");
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
}
```
在这个例子中,我们使用了`async`和`await`关键字来异步地执行连接、写入和读取操作,因为短连接完成后我们就不再需要保持连接,所以使用完就关闭。
阅读全文