Java - java socket linux

 
Vista:
Imágen de perfil de emanuel

java socket linux

Publicado por emanuel (2 intervenciones) el 26/11/2015 03:37:41
Buenas noches muchachos convoco a uds por qeu me encontre con una eventualidad tengo un programa que lo que hace es escuchar en un determinado puerto y lo que hago es conectarme a travez de telnet el tema que cuando escribo me lleva basura.
Entonces tengo dos eventualidades
1) como puedo hacer un strace a un proceso java para ver los paquetes que entran y salen
yo lo que hago es hacer ps -u <user> saco el pid
y hago strace -p pid
pero me muesetra un futex.
nada de paqutes entrantes y salientes
2) adjunto mi program de prueba
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
import java.io.*;
import java.net.*;
public class ServidorM2{
   	public static void main(String[] args){
   		ServerSocket yo = null;
   		Socket cliente = null;
   		boolean escuchando = true;
 		try{
   			yo = new ServerSocket(5000);
   			System.out.println("Bienvenido CWTEST SERVER 1.0\n");
 			while(escuchando){
   				cliente = yo.accept();
   				System.out.println("Ya se conecto un cliente desde: " +
									cliente.getInetAddress().getHostName()+
									"("+cliente.getPort()+")");
   				new Atiende(cliente).start();
   			}
	 		yo.close();
   		}catch (IOException e){
   			System.err.println(e.getMessage());
   			System.exit(1);
   		}
   	}
}
class Atiende extends Thread{
   	private BufferedReader entrada;
   	private DataOutputStream salida;
   	private String llego;
   	private Socket cliente = null;
   	private String nombreyDirIP;
 	public Atiende(Socket cliente){
   		this.cliente = cliente;
   		nombreyDirIP = this.cliente.getInetAddress().toString();
   	}
 	public void run(){
   		try{
 
   			Thread.currentThread().setPriority(Thread.MIN_PRIORITY);
 
   			entrada = new BufferedReader(new InputStreamReader(cliente.getInputStream()));
   	   		salida = new DataOutputStream(cliente.getOutputStream());
 
 
 			do{
   				llego = entrada.readLine();
   				System.out.println("("+nombreyDirIP+") Llego: " + llego);
   				if(llego==null){
   				break;
   				}else{
   				salida.writeInt(llego.length());
   				}
   			}while( llego.length()!=0);
 
 			entrada.close();
   			cliente.close();
   		}catch(IOException e){
   			System.out.println(e.getMessage());
   			System.exit(1);
   		}
   			System.out.println("Ya se desconecto"+"("+nombreyDirIP+")");
	}
}
Convoco por que ya nos e como hacerlo.
gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

java socket linux

Publicado por Tom (1831 intervenciones) el 26/11/2015 11:28:36
¿ strace para ver paquetes de red ?
Mira a ver si tienes instalado tcpdump (si no lo tienes, instálalo) y echa un ojo a su manual.
Y probablemente no es que "te lleva basura", es que estás escribiendo un Integer ... en su representación binaria.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de emanuel

java socket linux

Publicado por emanuel (2 intervenciones) el 26/11/2015 12:56:14
buenisimo lo ovy a probar a la tarde cualqueir cosa te mantengo al tanto muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar