在C#中实现Socket数据接收,可以使用System.Net.Sockets命名空间中的Socket类。以下是一个示例代码:
using System; using System.Net; using System.Net.Sockets; using System.Text; public class SocketReceiver { private const int BUFFER_SIZE = 1024; public static void Main() { StartListening(); } private static void StartListening() { // 创建Socket对象 Socket listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); // 绑定IP地址和端口 IPAddress ipAddress = IPAddress.Parse("127.0.0.1"); IPEndPoint localEndPoint = new IPEndPoint(ipAddress, 8888); listener.Bind(localEndPoint); // 开始监听 listener.Listen(10); Console.WriteLine("等待客户端连接..."); while (true) { // 接收连接请求 Socket handler = listener.Accept(); Console.WriteLine("客户端已连接"); byte[] buffer = new byte[BUFFER_SIZE]; string data = https://www.yisu.com/ask/null;"") > -1) { break; } } Console.WriteLine("接收到的数据:" + data); // 关闭连接 handler.Shutdown(SocketShutdown.Both); handler.Close(); } } }
上述代码创建了一个Socket对象,绑定了本地IP地址和端口,并开始监听连接请求。当有客户端连接成功后,进入数据接收循环,通过Receive方法接收数据,直到接收到结束标记"
注意:上述代码仅实现了单次数据接收,如果需要持续接收数据,可以将数据处理部分移至循环外部,并修改循环控制条件。