c#实现原装socket
时间: 2023-09-10 22:15:15 浏览: 154
C#中可以使用System.Net.Sockets命名空间来实现原生的Socket通信。下面是一个简单的示例:
```csharp
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
namespace SocketExample
{
class Program
{
static void Main(string[] args)
{
// 创建Socket对象
Socket listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
// 绑定端口
IPEndPoint endpoint = new IPEndPoint(IPAddress.Any, 8080);
listener.Bind(endpoint);
// 开始监听
listener.Listen(10);
Console.WriteLine("Socket server started.");
while (true)
{
// 接收连接
Socket client = listener.Accept();
// 接收数据
byte[] buffer = new byte[1024];
int size = client.Receive(buffer);
// 输出接收到的数据
string data = Encoding.UTF8.GetString(buffer, 0, size);
Console.WriteLine("Received data: " + data);
// 发送响应
string response = "Hello World!";
buffer = Encoding.UTF8.GetBytes(response);
client.Send(buffer);
// 关闭连接
client.Shutdown(SocketShutdown.Both);
client.Close();
}
}
}
}
```
该示例创建了一个Socket对象,然后绑定了端口8080,并开始监听。每当有连接到来时,就会接收数据,并回复响应。在回复响应后,需要关闭连接。
阅读全文