Olá pessoal, estou estudando sockets em java, e fazendo um cliente/servidor de batepapo só que surgiu uma dúvida.
O cliente esta em uma classe chamada Clientchat e o servidor na classe chamda Serverchat, mas da forma q eu fiz o código eu perciso de cada um em
uma máquina diferente, só que não sei quais arquivos da pasta do projeto( Eu utilizo NetBeans ) eu devo passar para outra máquina, será que eu devo criar um
jar? ou dois jar um para cada classe(Cliente e Servidor)? Se devo fazer, como faço? E se não, o que fazer?
Me parece recomendável criar um JAR para o cliente e outro para o servidor.
O Netbeans cria um JAR (que fica na pasta dist) quando você escolhe a opção de construir o projeto (no menu Executar) e coloca nele todas as classes, definindo a classe de entrada (Main-Class) como sendo a classe principal do seu projeto.
Talvez você tenha que gerar um JAR enquanto o servidor é a classe principal, salvar esse JAR em algum lugar e gerar outro com o cliente sendo a classe principal (para alterar a classe principal do projeto, botão direito em cima dele, Propriedades, Executar e escolha a Classe principal).
Valeu pela ajuda marco, eu fiz o vc disse, separei cada classe em um arquivo .jar e deu tudo certo…
só que agora tenho outra dúvida, quando eu executo o .jar do cliente ele tem swing, então abre a janelinha normal, mas o server é só texto. Quando programava em c
programas assim abriam o prompt de comando, mas em java não aparece nada, só sei que esta rodando pq o cliente funciona.
Entendi. Na verdade isso não é um problema, e sim o comportamento do executável Java. Se o seu JAR é chamado via interface gráfica (com dois clique sobre ele), nenhuma saída via console é exibida.
Para que seja, você deveria iniciar o JAR via console. Usar um ‘cd’ até o diretório do JAR e executar: