Tenho que desenvolver uma aplicação que mande segmentos TCP de diferentes tamanhos (1byte,100bytes,200bytes…1000bytes e 100.000bytes) e calcular o RTT.
Gostaria de saber como faço para determinar o tamanho da mensagem TCP.
Desde já agradeço. :roll:
Tenho que desenvolver uma aplicação que mande segmentos TCP de diferentes tamanhos (1byte,100bytes,200bytes…1000bytes e 100.000bytes) e calcular o RTT.
Gostaria de saber como faço para determinar o tamanho da mensagem TCP.
Desde já agradeço. :roll:
Eu não acredito que seja possível alterar esse tipo de parâmetro em Java.
Você pode, no entanto, usar o ifconfig para alterar o MTU que, por conseqüência, vai alterar o MSS (tipicamente, MSS = MTU - 40).
ifconfig eth0 mtu 1500
Abraços,
tu pode usa packets, mas daí não haverá streams =[
Como assim?
Tipo, o tamanho total do segmento TCP pode ser o padrão, mas eu preciso colocar dentro dele, por exemplo, 1byte…100bytes de informação; Eu pensei em alguma coisa mais simples, como por exemplo, uma cadeia de variáveis do tipo byte, de 1 posição…de 100 posições, porém, parece que não tá dando muito certo… Tipo isso:
long l_rtt;
long tInicial,tFinal;
byte mensagem[] = new byte[100];
BufferedReader digitosTeclado1 = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Digite o Nome ou Endereco do Servidor: ");
endereco = digitosTeclado1.readLine();
/* Conexao TCP */
Socket soquete = new Socket(endereco,6667);
BufferedReader respostaServidor = new BufferedReader(new InputStreamReader(soquete.getInputStream()));
DataOutputStream cadeiaEnviada;
System.out.println("\n\nRTT Para TCP:" + '\n' + "Tamanho(bytes) " + "RTT(ms)" + '\n');
/* 1byte *************/
/* Soltando o Cronometro */
tInicial = new Date().getTime();
cadeiaEnviada = new DataOutputStream(soquete.getOutputStream());
/* Enviando Mensagem */
cadeiaEnviada.writeBytes(mensagem);
/* Aguardando Resposta */
auxiliar = respostaServidor.readLine();
/* Soltando o Cronometro */
tFinal = new Date().getTime();
l_rtt = tFinal-tInicial;
System.out.println("001 " + l_rtt);
/*********************/
soquete.close();
/* Fim da Conexao */