Re: [問題] 請問socket封包到本機網卡要如何測量時間

作者: ryanwang (irene)   2023-10-31 10:24:26
※ 引述《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} 毫秒");
}
}
}
作者: wolfram (Wolfram)   2023-12-31 14:28:00
這StopWatch可量測Send指令時間,如果原Po 想更精確,需從WireShark去看127.0.0.1的反應紀錄

Links booklink

Contact Us: admin [ a t ] ucptt.com