Pessoal tenho que fazer um chat usando socket e varias threads, o codigo do servidor eu peguei mas nao estou conseugindo rodar.
classServidor{publicstaticvoidmain(String[]args){intport=Integer.parseInt(args[0]);try{ServerSocketserver=newServerSocket(port);}catch(IOExceptionioe){System.err.println("Couldn't run server");return;}while(true){try{[b]Socketconnection=server.accept();[/b]ConnectionHandlerhandler=newConnectionHandler(connection);newThread(handler).start();}catch(IOExceptionioe){}}}}
na parte em negrito mostra a seguinte mensagem: cannot find symbol
o que é isso?
Verifique se vc esta colocando o servidor que ira se comunicar se for na mesma maquina localhost ou 127.0.0.1
Abraços
analyser
Tem um artigo aqui no GUJ muito bom sobre sockets olhe ele
Abraços
F
fabiojp
Ae blz,
entaum em relação ao erro em negrido deve está dando esse erro, pois vc declarou a variavel de referencia ServerSocket dentro do bloco try, tendo com isso um escopo menor, declare ele fora do bloco try e instacie ele dentro do bloco.
Falow
Poste se conseguir e caso consiga seria bom postar o código também. O assunto me interessa.
Abraço.
P
pimontenegro
Rodou, vlww :D
era o que o fabiojp falou mesmo, declarei fora do bloco try e deu certo.
agora fazendo o lado do client =S hehe.. ja esta conectando.. alguem tem alguma dica de como compilar 2 projetos ao mesmo tempo no netbeans? preciso rodar o servidor e o client..
GiancarloBraga o codigo so mudou a declaração da variavel server pra for do bloco try. e ai vai a classe do connectionhandler:
classConnectionHandlerimplementsRunnable{privateSocketconnection;publicConnectionHandler(Socketconnection){this.connection=connection;}publicvoidrun(){try{//Cria um BufferedReader para o canal da stream de entrada de dados do socketBufferedReaderreader=newBufferedReader(newInputStreamReader(connection.getInputStream()));PrintWriterwriter=newPrintWriter(newOutputStreamWriter(connection.getOutputStream()));StringclientName=reader.readLine();writer.println("Hello "+clientName);writer.flush();}catch(IOExceptionioe){}}}
Marky.Vasconcelos
só muda isso
try {
ServerSocket server= new ServerSocket(port);
}
pra isso
ServerSocket server = null;
try{
server = new ServerSocket(port);
}
Obs: Sempre que postar códigos coloqueos entre as Tags [code] e [/ code]
Marky.Vasconcelos
Ps: Não vi que você já tinha resolvido
sobre roda dois programas não sei no netbeans mais com o eclipse eu crio o jar de um(normalmente o cliente)
e rodo pelo dos com o java -jar
e o server dentro do eclipse
P
pimontenegro
corrigi os posts Mark_Ameba…
Como funciona o comando? so entrar no cmd e digitar java -jar e o caminho do .java?
outra duvida que surgiu é … como eu passo os parametros pelo arg? que nem esta no cod? eu coloquei o valor da porta mais seria mais interessante usa o args… tem como me explicar?
public static void main(String[] args) {
int port= Integer.parseInt(args[0]);
Marky.Vasconcelos
para passar argumentos aomain você na hora de executar
você pode adicionar Stirngs apos o nome da classe
agora o args[0] vale 10001
Sobre o java -jar é para executar .jar files
Não sei no netBeans mais você tem que exportar oprojeto do cliente para .jar e executar com
P
pimontenegro
estou quebrando a cabeça para deixar o cliente sempre escutando o socket, sei que vou usar uma thread mais alguem tem alguma coisa mais especifica?
P
pimontenegro
postando para agradecer a ajuda e falar que o chat já está funcionando…
agora so tenho que implementar o metodo de desconectar…