在C#中通過Socket類來調整Keepalive時間。以下是一個示例代碼:
using System;
using System.Net.Sockets;
class Program
{
static void Main()
{
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
// 設置Keepalive時間為10秒
byte[] keepAliveOptionInValue = new byte[12];
BitConverter.GetBytes((uint)1).CopyTo(keepAliveOptionInValue, 0); // 開啟Keepalive
BitConverter.GetBytes((uint)10000).CopyTo(keepAliveOptionInValue, 4); // Keepalive時間,單位ms
BitConverter.GetBytes((uint)1000).CopyTo(keepAliveOptionInValue, 8); // Keepalive間隔,單位ms
socket.IOControl(IOControlCode.KeepAliveValues, keepAliveOptionInValue, null);
// 連接到服務器
socket.Connect("127.0.0.1", 8888);
// 在這里可以進行其他操作
// 關閉Socket
socket.Close();
}
}
在這個示例中,我們創建了一個Socket對象,并通過IOControl方法設置了Keepalive時間為10秒。可以根據具體的需求來修改Keepalive時間。