TCP
Das TCP-Protokoll ist eine verbindungsorientierte und garantiert eine hohe Zuverlässigkeit (Daten ohne Verlust, Daten ohne Störung, Daten ohne Fehler und Daten ohne doppelte Ankunft).
TCP stellt eine Verbindung durch drei Handshakes her. Die Verbindung muss entfernt werden, wenn die Kommunikation abgeschlossen ist. Da TCP mit der Verbindung verbunden ist, kann es nur für die End-to-End-Kommunikation verwendet werden.
In diesem Artikel wird hauptsächlich den relevanten Inhalt von Java mithilfe von TCP zur Implementierung eines einfachen Chats vorgestellt. Es wird für Ihre Referenz und Ihr Lernen geteilt. Ich werde unten nicht viel sagen. Schauen wir uns die detaillierte Einführung gemeinsam an.
Beispielcode
Einfache Chat -Funktion mit dem TCP -Protokoll (sehr einfach)
Denken: Verwenden Sie 2 Threads, ein Thread wird verwendet, um Nachrichten zu empfangen, und der andere Thread wird zum Senden von Nachrichten verwendet.
Client -Demo -Code:
öffentliche Klasse Senddemo {public static void main (String [] args) löst Ausnahme aus {Socket Socket = New Socket (inetaddress.getLocalHost (), 8888); SendImpl sendImpl = new SendImpl (Socket); // Thread neuer Thread senden (sendImpl) .Start (); // Thread reciveImpl reciveImpl = new reciveImpl (Socket) erhalten; neuer Thread (reciveImpl) .Start (); }}Serverseitiger Democode:
public class serverDemo {public static void main (String [] args) löst eine Ausnahme aus {ServerSocket ServerSocket = new ServerSocket (8888); Socket Socket = ServerSocket.accept (); SendImpl sendImpl = new SendImpl (Socket); neuer Thread (sendImpl) .Start (); ReciveImpl reciveImpl = new reciveImpl (Socket); neuer Thread (reciveImpl) .Start (); }}Demo -Code zum Senden von Thread:
öffentliche Klasse SendImpl implementiert Runnable {privater Socket Socket; public sendImpl (Socket Socket) {this.socket = Socket; // automatisch generierte Konstruktor-Stub} @Override public void run () {Scanner scanner = neuer Scanner (System.in); while (true) {try {outputStream outputStream = socket.getOutputStream (); String string = scanner.nextline (); outputStream.write (string.getBytes ()); } catch (ioException e) {// Todo automatisch generierter Catch-Block e.printstacktrace (); }}}}Demo -Code zum Empfangen von Thread:
öffentliche Klasse reciveImpl implementiert runnable {privater Socket Socket; public reciveImpl (Socket Socket) {this.socket = Socket; // todo automatisch generierter Konstruktor Stub} @Override public void run () {while (true) {try {InputStream InputStream = socket.getInputStream (); Byte [] B = neues Byte [1024]; int len = inputStream.read (b); System.out.println ("Nachricht empfangen:"+neue String (b, 0, len)); } catch (ioException e) {// Todo automatisch generierter Catch-Block e.printstacktrace (); }}}}Zusammenfassen
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Referenzwert für das Studium oder die Arbeit eines jeden hat. Wenn Sie Fragen haben, können Sie eine Nachricht zur Kommunikation überlassen. Vielen Dank für Ihre Unterstützung bei Wulin.com.