Pessoal tenho que fazer um chat usando socket e varias threads, o codigo do servidor eu peguei mas nao estou conseugindo rodar.
class Servidor {
public static void main(String[] args) {
int port= Integer.parseInt(args[0]);
try {
ServerSocket server= new ServerSocket(port);
}
catch (IOException ioe)
{
System.err.println("Couldn't run server");
return;
}
while(true) {
try {
[b]Socket connection = server.accept();[/b]
ConnectionHandler handler= new ConnectionHandler(connection);
new Thread(handler).start();
} catch (IOException ioe) {}
}
}
}
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
Tem um artigo aqui no GUJ muito bom sobre sockets olhe ele
Abraços
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
Amigo,
Tente este link que o analyser citou:
http://www.guj.com.br/java.tutorial.artigo.126.1.guj
Poste se conseguir e caso consiga seria bom postar o código também. O assunto me interessa.
Abraço.
Rodou, vlww 
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:
[code]
class ConnectionHandler implements Runnable {
private Socket connection;
public ConnectionHandler(Socket connection) {
this.connection = connection;
}
public void run() {
try {
//Cria um BufferedReader para o canal da stream de entrada de dados do socket
BufferedReader reader= new BufferedReader(new InputStreamReader
(connection.getInputStream()));
PrintWriter writer= new PrintWriter(new OutputStreamWriter
(connection.getOutputStream()));
String clientName= reader.readLine();
writer.println("Hello " + clientName);
writer.flush();
} catch (IOException ioe) {}
}
}[/code]
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]
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
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]);
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
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?
postando para agradecer a ajuda e falar que o chat já está funcionando…
agora so tenho que implementar o metodo de desconectar…
vlw