Cara, o programa “trava” porque você está fazendo uma chamada síncrona. O seu servidor precisa trabalhar em uma thread para você conseguir continuar executando o sistema.
arm.jr
Sim, mas no meu servidor esta usando Thread.
Quando eu executo ele no método main, esta funcionando tudo certo, o problema e só esse quando eu chamo ele em outro frame!!
A
armando
A pergunta é: esse método application.runServer(), ele retorna ou fica ativo?
Abraço,
Armando
arm.jr
Eleficaativo.[color=darkred]publicvoidrunServer(){try// set up server to receive connections; process connections{server=newServerSocket(12345,100);// create ServerSocket
while(true){
try{
waitForConnection(); // wait for a connectiongetStreams(); // get input & output streamsprocessConnection(); // process connection}//endtrycatch(EOFExceptioneofException){
displayMessage("\nServer terminated connection");}//endcatchfinally{
closeConnection(); // close connectioncounter++;}//endfinally}//endwhile}//endtrycatch(IOExceptionioException){
ioException.printStackTrace();}//endcatch
}//endmethodrunSe[/color]
A
armando
Então… é esse o problema… na verdade, o programa não “trava”, ele está simplesmente aguardando o método retornar, o que não acontece. Ou você tem que fazer esse server ser um runnable ou tem que abrir uma thread e no run dela instanciar e rodar o servidor.