SOCKET

Vortex3
08 de Octubre del 2005
Necesito realizar una conexion TCP entre dos aplicaciones a traves de 2 puerto específicos. Realicé satisfactoriamente la conexion con la siguiente instruccion:

Socket socket = new Socket("169.254.250.137",5000)

Sin embargo, de esta manera el puerto origen de la aplicacion es aleatorio.

Cómo puedo asignar un puerto específico (por ejemplo el 6000) como puerto origen de la aplicacion (para que de esta manera se realice la comunicacion entre los puertos 6000 y 5000, en este caso)?

chuidiang
08 de Octubre del 2005
Hola:

Usa la clase ServerSocket. En http://www.geocities.com/chuidiang/java/sockets/socket.html tienes un pequeño tutorial sobre el tema.

De todas formas, sólo hay un puerto fijo que es el del servidor. El del cliente se puede fijar, pero no es lo normal. El puerto del ciente no suele tener ningún interés y es mejor dejar al sistema que elija uno libremente. Si pones tú uno fijo para el cliente, limitas la posibilidad de que varios clientes se lancen a la vez en la misma máquina. Lo peor de todo es que otro cliente de otra aplicación que no tenga nada que ver con la tuya pille ese puerto y no puedas arrancar el tuyo.

Se bueno.