中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

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
睢宁县| 泰来县| 大余县| 治多县| 玉屏| 县级市| 额济纳旗| 普洱| 栾川县| 中宁县| 肥城市| 台南县| 湖北省| 三亚市| 大洼县| 攀枝花市| 拜城县| 陇南市| 高雄市| 广汉市| 从江县| 会泽县| 柳江县| 梓潼县| 新沂市| 凌云县| 江口县| 安顺市| 即墨市| 福州市| 三江| 招远市| 静海县| 兴安县| 怀仁县| 达州市| 鲜城| 郴州市| 彭水| 赣州市| 河南省|