[RESOLVIDO] Dúvida Sockets

public static void main(String[] args) {
ServerSocket s = new ServerSocket(4444);
while (true) {
Socket ns = s.accept();
DataInputStream in = new DataInputStream(ns.getInputStream());
DataOutputStream out = new DataOutputStream(ns.getOutputStream());
while (true) {
String fromClient = in.readUTF();
out.writeUTF(protocol protocol protocol.processLine(fromClient));
if (fromClient.equals(“Bye”)) break;
}
in.close();
out.close();
ns.close()
}
s.close();
}

Galera to em dúvida sobre a conexão no protocolo TCP, no código acima NS e S adotam a mesma porta ?

Sim. Não tem nenhum problema nisso, porque uma conexão TCP é identificada por 4 valores: IP e porta locais e IP e porta remotos.

Um exemplo disso são servidores HTTP. Imagina quantos clientes estão conectados na mesma porta 80 (ou melhor, 443) do Facebook.

1 curtida

Ou seja, em nenhum caso haverá de NS e S adotarem portas distintas, certo ?

Nesse código que você mostrou, ns e s sempre terão a mesma porta local.

1 curtida

Entendi, valeuzão!