我已經實現了一個udp數據包發送器和接收器。 我要計算時間的交易,從發送端到接收端多少時間其採取..如何計算udp數據包發送和接收的時間
發件人代碼:
void senderFunc() {
/*some other code */
if((s1 = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) == -1)
error_handler("\nERROR: in Socket\n");
memset((char *) &me, 0, sizeof(me));
me.sin_family = AF_INET;
me.sin_port = PORT;
if (inet_aton(G_IP, &me.sin_addr)==0)
{
fprintf(stderr, "inet_aton() failed\n");
exit(1);
}
printf("\Tick - %d : %s",cntr++,str);
sprintf(b1, "%s",str); // Some Information in b1 buffer to transfer
if(sendto(s1, b1, sizeof(b1),0,(struct sockaddr *) &me,n)==-1)
error_handler("\nERROR: in sendto()\n");
close (s1);
return;
}
}
接收器代碼:
int receiverFunc() {
struct sockaddr_in other, me;
int s2, n, i = 1;
char b2[BUFLEN];//, b2[BUFLEN];
s2 = socket(AF_INET, SOCK_DGRAM,0);
me.sin_family = AF_INET;
me.sin_port = PORT;
me.sin_addr.s_addr = htonl(INADDR_ANY);
bind(s2,(struct sockaddr *)&me, sizeof(me));
n=sizeof(other);
int incr = 0;
while (i){
recvfrom (s2,b2,BUFLEN,0,(struct sockaddr *) &other, &n);
printf ("\nSubnet 2: Tick - %d : %s",incr++, b2);
}
return 0;
}
誰能請幫助我,我如何計算此事務之間的時間假設我正從發件人發送數據包到接收者。那我該如何計算那個時間?
感謝這個論壇總是最好的迴應。我正在尋找您的另一最好的迴應..
感謝
Rahee。
寄件人和收件人在同一臺機器上嗎? –
@Raheel請務必接受最有幫助的答案。 – jncraton