Java - Sockets,threads//Para expertos

 
Vista:

Sockets,threads//Para expertos

Publicado por Socket (28 intervenciones) el 06/04/2005 23:44:26
Bueno mi duda sera simple para el que sepa,estoy creando un servidor que recibira multiplex conexiones..Lo tengo hecho asi...no añado todo el codigo pq no lo encuentro necesario,si hiciera flata ya lo añadire.

Public class Server extends Thread{
.......
.......

public Static void main(Strings[] args){
Server s1=new Server();
Server s2=new Server();
}
}

Asi tan solo puedo escuchar dos conexiones como puedo hacerlo para que escuche ciontinuamente y me vaya generando hilos.
Yo havia pensado algo como; "Igual es mmuy de novato pero es lo ke soy""

en el main :
boolean escuxo=true;
ServerSocket Skserver=new ServerSocket();
Socket skClient=skServer.accept();

while(escuxo ==true){

//aki tendria ke venir algo para ke cada vez que se conecte alguien cree un nuevfo hilo.
y lo envie a la funcion run.
Pero como puedo saber ke se conecta alguien??

Gracias x la ayuda


}
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

RE:Sockets,threads//Para expertos

Publicado por Jorge Luis Peña (2 intervenciones) el 14/04/2005 02:46:45
Es algo simple...podrias usar un Vector para almacenar las conexiones entrantes...yo lo he manejado asi en un proyecto de la Universidad, se trataba de un chat multiusuarios tipo mIRC, donde se podian realizar platicas publicas y privadas entre n usuarios, y enviar archivos entre ellos sin interrumpir la conversacion....

La ejecucion del programa se detiene en el método accept(), y al llegar un cliente, la ejecucion continua, dicha conexion la puedes almacenar el un vector.
boolean escuxo=true;
Vector conexiones=new Vector();
ServerSocket Skserver=new ServerSocket(10000);
while(escuxo ==true){
Socket skClient=skServer.accept(); //ha llegado un cliente....
conexiones.addElement(skClient);
}

Nota: Para recuperar la conexion, solo realiza un cast con la conexion deseada:
Socket s=(Socket)conexiones.elementAt(posicion);

Y una vez con el socket deseado puedes enviar y recibir datos con:
//Se crean los flujos de entrada y salida...
DataInputStream in=new DataInputStream(s.getInputStream());
DataInputStream out=new DataOutputStream(s.getOutputStream());
//Y ahora se puede enviar un mensaje
out.writeUTF("MENSAJE ENVIADO....");
//y recibir....
String msg=in.readUTF();

Lo que puedes hacer es crear una clase que encapsule una conexion, asi como los metodos que tu desees.........
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

RE:Sockets,threads//Para expertos

Publicado por mackriv (1 intervención) el 24/10/2013 20:14:48
Yo estoy empezando a traajar soquets. y necesito hacer un chat como proyecto.. pero no entiendo como haceptar multiples usuarios....

Mi proyecto trata de tener un servidor en linux, y que N usuarios se conecten desde windows..

El servidor lo tengo, pero solo puedo trabajar con un usuario a la vez... Les copio el link del proyecto que estoy haciendo y si me pueden apoyar se los agradezco

https://mega.co.nz/#!Igk3UazC!HipL-ivANID3Q7_JR_mAuxgIuTdtqcwM5IU_S1M1NhE
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