Как рассчитать время прохождения двух полученных пакетов с сервера?

Я написал код Winsock (UDP) для отправки пакетов 2 800 байт обратно на сервер ретрансляции. Это в основном измерение пары пакетов друг за другом. Оба отправленных пакета будут немедленно отправлены обратно моему клиенту.

Ниже мой код:

#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>

#include <WinSock2.h>
#include <Windows.h>
#include <sstream>
#include <string>
#include <sys/time.h>

#define SCK_VERSION 0x0202

using namespace std;

int main(int argc , char* argv[])
{

//Initializing
WSADATA wsa;
SOCKET s;
struct sockaddr_in server;
char* message, server_reply[2000];

printf("Initializing Winsock...");
if (WSAStartup(MAKEWORD(2,1),&wsa) != 0)
{
printf("Failed. Error Code : %d",WSAGetLastError());
return 1;
}
printf("Initialized\n");//Create a socket
if((s = socket(AF_INET, SOCK_DGRAM, 0)) == INVALID_SOCKET)
{
printf("Could not create socket: %d" , WSAGetLastError());
}

printf("Socket created\n");server.sin_addr.s_addr = inet_addr("129.187.223.200");
server.sin_family = AF_INET;
server.sin_port = htons(2000);double msec();
//Connect to remote server
if (connect(s, (struct sockaddr*)&server, sizeof(server)) < 0)
{
puts("Connect error");
return 1;
}
puts("Connection successful");//Send some data
message = "p1";
int sendsize = (send(s, message, 800, 0))*2;
if(send(s, message, 800, 0) > 0)
{
send(s, message, 800, 0);
puts("Both packets sent\n");
printf("Sending packet size: %d bytes\n", sendsize);
}//Receive a reply from the server
int recvsize = (recv(s, server_reply, 2000, 0))*2;
if(recv(s, server_reply, 2000, 0) > 0)
{
puts("\nReply received\n");
printf("%s\n", server_reply);
printf("Receiving packet size: %d bytes\n", recvsize);
}

return 0;
}

Кто-нибудь может мне помочь? Действительно ценю это.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru