91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

C#如何實現Socket數據接收

c#
小億
257
2023-07-31 13:00:01
欄目: 編程語言

在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 = null;
while (true)
{
// 接收數據
int bytesRead = handler.Receive(buffer);
data += Encoding.ASCII.GetString(buffer, 0, bytesRead);
// 判斷數據是否接收完畢
if (data.IndexOf("<EOF>") > -1)
{
break;
}
}
Console.WriteLine("接收到的數據:" + data);
// 關閉連接
handler.Shutdown(SocketShutdown.Both);
handler.Close();
}
}
}

上述代碼創建了一個Socket對象,綁定了本地IP地址和端口,并開始監聽連接請求。當有客戶端連接成功后,進入數據接收循環,通過Receive方法接收數據,直到接收到結束標記""為止。最后關閉連接。

注意:上述代碼僅實現了單次數據接收,如果需要持續接收數據,可以將數據處理部分移至循環外部,并修改循環控制條件。

0
乾安县| 庆阳市| 宁陕县| 蚌埠市| 奉化市| 渭源县| 乐平市| 宝坻区| 弋阳县| 永善县| 栾城县| 福安市| 夹江县| 同德县| 漠河县| 眉山市| 九寨沟县| 固原市| 肥西县| 淅川县| 怀集县| 吐鲁番市| 阜城县| 临西县| 东城区| 班玛县| 孟村| 子长县| 天峨县| 建湖县| 武安市| 元谋县| 怀宁县| 彰化市| 海伦市| 城口县| 昆山市| 冕宁县| 榆中县| 喜德县| 密云县|