Dúvida sobre Sockets

4 respostas
E

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:

4 Respostas

G

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,

Leozin

tu pode usa packets, mas daí não haverá streams =[

G

Como assim?

E

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 */
Criado 2 de julho de 2006
Ultima resposta 3 de jul. de 2006
Respostas 4
Participantes 3