溫馨提示×

C#中socket.receive方法怎么使用

c#
小億
588
2023-10-30 10:10:33
欄目: 編程語言

在C#中,可以使用Socket類的Receive方法來接收數據。該方法有多種重載形式。以下是一個基本的用法示例:

using System;
using System.Net;
using System.Net.Sockets;

public class SocketReceiveExample
{
    public static void Main()
    {
        // 創建一個Socket對象并連接到服務器
        Socket clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
        clientSocket.Connect(IPAddress.Parse("服務器IP地址"), 12345);

        // 接收數據的緩沖區
        byte[] buffer = new byte[1024];

        // 接收數據
        int bytesRead = clientSocket.Receive(buffer);

        // 將接收到的字節數組轉換為字符串
        string receivedData = System.Text.Encoding.UTF8.GetString(buffer, 0, bytesRead);

        // 打印接收到的數據
        Console.WriteLine("接收到的數據:{0}", receivedData);

        // 關閉Socket連接
        clientSocket.Shutdown(SocketShutdown.Both);
        clientSocket.Close();
    }
}

在上述示例中,首先創建一個Socket對象并連接到服務器。然后,創建一個緩沖區用于接收數據。使用Receive方法接收數據,并將數據存儲在緩沖區中。接收完成后,可以將接收到的字節數組通過指定的編碼方式轉換為字符串。最后,關閉Socket連接。

需要注意的是,Receive方法是阻塞的,即程序在接收數據時會一直等待,直到有數據可用或者發生錯誤。如果需要設置超時時間或者非阻塞模式,可以使用Socket類的ReceiveTimeout和Blocking屬性進行設置。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女