Sockets servir como um objeto de comunicação de baixo nível para programas em Java . Utilizando Sockets e os seus homólogos , ServerSockets , os programadores podem criar programas Java simples que enviar uma escuta para os dados mais portas de um computador . Integrar os fluxos de entrada e saída para este processo permite que os programadores para processar os dados recebidos. Através desta configuração simples , o programador Java pode construir algo como um servidor de chat . ServerSockets Java
programadores usam ServerSockets para ouvir as portas do computador para os dados de entrada . Os métodos incluídos na classe ServerSocket incluem meios para receber os dados de entrada , bem como a transferência de dados que , de modo que ele pode ser formatado ou traduzido . Para construir um servidor de chat simples , uma única ServerSocket pode trabalhar como agente de escuta para monitorar para o texto de entrada.
Básico ServerSocket para Servidor chat
O método SeverSocket " aceitar " escuta para os dados de entrada em uma porta definida. O objeto ServerSocket continua a ouvir , a menos que a porta não existe ou já em uso. O número da porta utilizada terá sido acordado por ambos os usuários do programa de bate-papo, geralmente através de um determinado protocolo . Para começar a ouvir para dados de entrada , o programador precisa começar a aceitar método do objeto ServerSocket :
java.net import * ; import java.util * ;
public class ChatServer {< br. . >
void main ( string [ ] args ) { public static ss público ServerSocket = new ServerSocket ( 9999) ; Soquete s = ss.accept (); }}
< br >
fluxos de entrada
Uma vez que o ServerSocket ouve a porta , ele espera até receber dados a partir desse porto. O computador remoto a partir do qual a informação conversar irá enviar os dados , neste caso, através da porta 9999. O objeto ServerSocket irá retornar um objeto Socket uma vez que a conexão é feita . Uma vez que o método accept retorna o socket, se a tomada pode ser usada para ler dados em um objeto BufferedReader , que irá armazenar as informações de bate-papo :
Cordas mensagem = ""; BufferedReader in = new BufferedReader (new InputStreamReader ( s.getInputStream ()) );
Imprimir a mensagem
o ServerSocket aceita uma conexão, e retornou um objeto de conexão na forma de um objeto. O programador extraído a entrada daquele objeto Socket em um objeto BufferedReader . O objeto BufferedReader pode retornar a string em um objeto String para processamento. Quando isso ocorre , o programador pode exibir a mensagem em um programa, coloque-o em uma janela pop -up separada, ou imprimir a saída de um terminal:
mensagem = in.readLine (); System.out . println (mensagem) ;