Estoy intentando adaptar mi servidor de socket simple para que pueda tener múltiples conexiones TCP, a través de subprocesamiento múltiple, pero parece que no puedo hacerlo funcionar. Mi código hasta el momento es el siguiente, no estoy realmente seguro de a dónde ir desde aquí:Creación de un servidor de socket que permite múltiples conexiones a través de subprocesos y Java
import java.net.*;
import java.io.*;
public class DoSomethingWithInput implements Runnable {
private final Socket clientSocket; //initialize in const'r
public void run() {
BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
String nextline;
while ((nextline = in.readLine())!=null) {
System.out.println(nextline);
} //... close socket, etc.
}
}
public class Socket{
public Socket() {
}
@Override
public void run() {
try {
ServerSocket serverSocket = null;
serverSocket = new ServerSocket(5432);
for (;;) {
ServerSocket serverSocket = null;
serverSocket = new ServerSocket(5432);
for (;;) {
Socket clientSocket = null;
clientSocket = serverSocket.accept();
//delegate to new thread
new Thread(new DoSomethingWithInput(clientSocket)).start();
}
}
}catch (IOException e) {
System.err.println("Could not listen on port: 5432.");
System.exit(1);
}
}
}
qué alguien sea capaz de darme algunos consejos sobre cómo podría hacer esto, y por qué mi aplicación actual no serán trabajo ? Estaba ejecutando las sugerencias en el tutorial de Java http://download.oracle.com/javase/tutorial/networking/sockets/examples/KKMultiServerThread.java aquí, pero el ejemplo que dan aquí parece usar muchas fuentes externas y clases como KnockKnockProtocol, etc.
¿Alguien podría ayudarme con esto?
¡Muchas gracias!
podría dar un ejemplo para esa clase que sugirió? –
@DanyLavrov: No, creo que he dado suficiente información aquí. Realmente no quiero comenzar a trabajar mucho para agregar a una respuesta que tiene más de 5 años y parece que tiene suficiente información para la mayoría de las personas. . Si está tratando de usarlo y tiene problemas, tal vez debería hacer una nueva pregunta que muestre lo que ha intentado y lo que salió mal, con una referencia a esta respuesta. –
no importa. Me di cuenta, gracias de todos modos. –