TCP
El protocolo TCP es un orientado a la conexión y garantiza una alta confiabilidad (datos sin pérdida, datos sin trastorno, datos sin error y datos sin llegada duplicada).
TCP establece una conexión a través de tres apretones de manos. La conexión debe eliminarse cuando se complete la comunicación. Dado que TCP está conectado a la conexión, solo se puede usar para la comunicación de extremo a extremo.
Este artículo presenta principalmente el contenido relevante de Java usando TCP para implementar un chat simple. Se comparte para su referencia y aprendizaje. No diré mucho a continuación. Echemos un vistazo a la introducción detallada juntos.
Código de muestra
Función de chat simple implementada usando el protocolo TCP (muy simple)
Pensamiento: use 2 hilos, se usa un hilo para recibir mensajes y el otro hilo se usa para enviar mensajes.
Código de demostración del cliente:
public class SendDemo {public static void main (string [] args) lanza excepción {socket socket = new Socket (inetaddress.getLocalHost (), 8888); SendImpl sendImpl = new SendImpl (socket); // Enviar el hilo nuevo hilo (sendImpl) .Start (); // recibir hilo reciveImpl reciveImpl = new ReciveImpl (Socket); nuevo hilo (reciveImpl) .Start (); }}Código de demostración del lado del servidor:
Public Class ServerDemo {public static void main (String [] args) lanza la excepción {Serversocket Serversocket = new Serversocket (8888); Socket Socket = Serversocket.accept (); SendImpl sendImpl = new SendImpl (socket); nuevo hilo (sendImpl) .Start (); ReciveImpl reciveImpl = new ReciveImpl (Socket); nuevo hilo (reciveImpl) .Start (); }}Código de demostración para enviar el hilo:
clase pública sendImpl implements runnable {private socket socket; public sendImpl (socket socket) {this.socket = socket; // TODO STUB de constructor generado automático} @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 Auto Generated BLOCK E.PrintStackTRace (); }}}}Código de demostración para recibir el hilo:
Public Class ReciveIpl implementos Runnable {SOCKECKE SOCKECHE PRIVADO; public reciveImpl (socket socket) {this.socket = socket; // TODO STUB de constructor generado automático} @Override public void run () {while (true) {try {inputStream inputStream = Socket.getInputStream (); byte [] b = nuevo byte [1024]; int len = inputStream.Read (b); System.out.println ("Mensaje recibido:"+nueva cadena (b, 0, len)); } Catch (ioException e) {// tODO Auto Generated BLOCK E.PrintStackTRace (); }}}}Resumir
Lo anterior es todo el contenido de este artículo. Espero que el contenido de este artículo tenga cierto valor de referencia para el estudio o el trabajo de todos. Si tiene alguna pregunta, puede dejar un mensaje para comunicarse. Gracias por su apoyo a Wulin.com.