C#socketSend使用实例
时间: 2024-10-15 09:12:31 浏览: 8
在C#中,SocketSend通常用于通过网络套接字发送数据。下面是一个简单的实例,展示了如何创建一个TCP服务器,接收客户端的连接,并向客户端发送消息:
```csharp
using System;
using System.Net;
using System.Net.Sockets;
class Program
{
static void Main(string[] args)
{
// 创建服务器端的TCP监听器
TcpListener listener = new TcpListener(IPAddress.Any, 12345); // 使用0.0.0.0表示所有IP地址,12345是端口号
try
{
// 开始监听
listener.Start();
Console.WriteLine("Server started, listening on port 12345...");
// 当有新的连接请求时...
while (true)
{
// 获取新的连接
Socket client = listener.AcceptSocket();
// 接收客户端的消息
byte[] buffer = new byte[1024];
int bytesRead = client.Receive(buffer);
// 解析接收到的数据(这里假设是个字符串)
string message = Encoding.ASCII.GetString(buffer, 0, bytesRead);
Console.WriteLine($"Received message from client: {message}");
// 构造回复的消息
string response = "Hello from server!";
byte[] replyBuffer = Encoding.ASCII.GetBytes(response);
// 发送响应给客户端
client.Send(replyBuffer, replyBuffer.Length, SocketFlags.None);
// 关闭连接
client.Close();
}
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
}
```
在这个例子中,`AcceptSocket()`方法等待客户端连接,然后`Receive()`用于从客户端读取数据,`Send()`则用于将服务器的响应发送回客户端。请注意,在实际应用中,你可能需要添加错误处理和循环控制以处理并发连接。
阅读全文