TCP
O protocolo TCP é orientado para a conexão e garante alta confiabilidade (dados sem perda, dados sem distúrbios, dados sem erro e dados sem chegada duplicada).
O TCP estabelece uma conexão através de três apertos de mão. A conexão deve ser removida quando a comunicação for concluída. Como o TCP está conectado à conexão, ele só pode ser usado para comunicação de ponta a ponta.
Este artigo apresenta principalmente o conteúdo relevante do Java usando o TCP para implementar o bate -papo simples. É compartilhado para sua referência e aprendizado. Não vou dizer muito abaixo. Vamos dar uma olhada na introdução detalhada juntos.
Código de amostra
Função de bate -papo simples implementada usando o protocolo TCP (muito simples)
Pensamento: use 2 threads, um thread é usado para receber mensagens e o outro thread é usado para enviar mensagens.
Código de demonstração do cliente:
classe pública sendDemo {public static void main (string [] args) lança exceção {soquete soquete = new Socket (inetAddress.getLocAlHost (), 8888); SendImpl sendImpl = new sendImpl (soquete); // Enviar thread novo thread (sendImpl) .start (); // Receba Thread RectiveImpl recentImpl = new ReciveImpl (soquete); novo thread (recuperimpl) .start (); }}Código de demonstração do lado do servidor:
classe pública serverdemo {public static void main (string [] args) lança exceção {serverSocket ServerSocket = new ServerSocket (8888); Soquete soquete = serversocket.accept (); SendImpl sendImpl = new sendImpl (soquete); novo thread (sendImpl) .start (); Recessora recepImpl = new ReciveImpl (soquete); novo thread (recuperimpl) .start (); }}Código de demonstração para enviar thread:
classe pública sendImpl implementa Runnable {Setor de soquete privado; public sendImpl (soquete) {this.socket = soket; // TODO Construtor GOERATADO AUTO GERONADOR ESTUB} @Override public void run () {scanner scanner = new Scanner (System.in); while (true) {try {outputStream outputStream = Socket.getOutputStream (); String string = scanner.NextLine (); outputStream.Write (String.getBytes ()); } catch (ioexception e) {// TODO GATO GENERADO AUTOMENTADO BLOCO E.PRINTSTACKTRACE (); }}}}Código de demonstração para receber thread:
public class ReciveImpl implementa Runnable {Socket Socket privado; public RECIVEIMPL (soquete) {this.socket = soket; // TODO Construtor GOERATADO AUTOGRUTO ESTUB} @Override public void run () {while (true) {try {inputStream inputStream = soket.getInputStream (); byte [] b = novo byte [1024]; int len = inputStream.read (b); System.out.println ("mensagem recebida:"+nova string (b, 0, len)); } catch (ioexception e) {// TODO GATO GENERADO AUTOMENTADO BLOCO E.PRINTSTACKTRACE (); }}}}Resumir
O acima é o conteúdo inteiro deste artigo. Espero que o conteúdo deste artigo tenha certo valor de referência para o estudo ou trabalho de todos. Se você tiver alguma dúvida, pode deixar uma mensagem para se comunicar. Obrigado pelo seu apoio ao wulin.com.