作者ryanwang (irene)
看板C_Sharp
標題Re: [問題] 請問socket封包到本機網卡要如何測量時間
時間Tue Oct 31 10:24:26 2023
※ 引述《sam319 (Sam)》之銘言:
: 從socket.Send(data)一刻起
: 到本機網卡收到data但還沒傳到遠端之前
: 請問C#有辦法測量這段時間嗎?
using System;
using System.Diagnostics;
using System.Net;
using System.Net.Sockets;
class Program
{
static void Main()
{
// 設定目標 IP 和 Port,這個例子中使用本機 IP 和一個特定 Port
IPAddress localIpAddress = IPAddress.Parse("127.0.0.1");
int port = 12345;
// 創建一個 UdpClient 來發送封包
using (UdpClient udpClient = new UdpClient())
{
// 要發送的資料
byte[] data = new byte[1024]; // 假設封包大小為 1024 位元組
// 開始計時
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
// 發送封包
udpClient.Send(data, data.Length, new IPEndPoint(localIpAddress,
port));
// 停止計時
stopwatch.Stop();
// 顯示所需時間
Console.WriteLine($"傳送封包所需時間:
{stopwatch.ElapsedMilliseconds} 毫秒");
}
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.164.231.183 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1698719068.A.52D.html
推 wolfram: 這StopWatch可量測Send指令時間,如果原Po 想更精確,需 12/31 14:28
→ wolfram: 從WireShark去看127.0.0.1的反應紀錄 12/31 14:28