Verwandte Java -Klassen
Buchse
public class Socket extends Object
・ Funktion: TCP -Client -Socket ・ Konstruktionsmethode: Socket (Inetaddress -Adresse, int Port) Erstellen Sie einen Stream -Socket und verbinden Sie sie mit der angegebenen Portnummer der angegebenen IP -Adresse ・ gemeinsam
Serversocket
public class ServerSocket extends Object
・ Funktion: TCP -Server -Socket ・ Konstruktionsmethode: ServerSocket (int Port) Erstellen Sie einen an einen bestimmten Port gebundenen Server -Socket. ・ Häufige Methoden: 1. Akzept
TCP -Serverseite
TcpServer.java
Der Server verwendet eine Multi-Threading-Methode. Jedes Mal, wenn eine Verbindung hergestellt wird, wird ein Java -Thread gestartet und ein Bild an den Client gesendet, und dann wird die TCP -Verbindung geschlossen.
Paket cn.xidian.tcpsocket; import java.io.file; import java.io.fileinputstream; import Java.io.ioxception; import Java.io.outputStream; Importieren Sie Java.net.Serversocket; importieren java.net.snetsocket. {super (); this.clientsocket = ClientSocket;}@override public void run () {try {// Erhalten Sie die IP -Adresse des Clients und den Hostnamen String clientAddress = clientsocket.getInetaddress (). GetHostadDress (); String clientHostname = clientsocket.GetAntAddress (). + ClientAddress + ")" + "erfolgreich verbunden!"); System.out.println ("Jetzt übertragen Sie Bilddaten ........."); Long starttime = system.currenttimemillis (); // AusgabstreamOutputStream Outstream uscientSocket. File ("/home/gavinzhou/test.jpg")); byte [] data = new Byte [4096]; int länge = 0; while ((lenge = in.read (data))! "(" + clientAddress + ")" + "Die Bildübertragung ist erfolgreich," + "Zeit:" + ((Endime-StartTime)) + "MS"); // Schließen Sie die Ressource in.CLOSE (); ClientSocket.CLOSE (); System.out.println ("Connection Close!"); args) löst ioException {// Erstellen Sie einen TCP -Verbindungsdienst erstellen, binden Sie die Portserversocket tCpServer = new ServerSocket (9090); // Akzeptiere die Verbindung und übergeben das Bild an den angeschlossenen Client. Jede TCP -Verbindung ist ein Java -Thread, während (true) {Socket Clientsocket = TCpServer.accept (); New TCpServer (Clientocket) .Start ();}}}TCP -Client
Tcpclient
Paket cn.xidian.tcpsocket; import java.io.file; import Java.io.fileOutputStream; Import Java.io.io.ioException; Import Java.io.inputStream; Import Java.net.inputStream; Import Java.net.socket; TCP -Dienst // Verbindung zum nativen TCP -Server -Socket -Socket = neuer Socket (inetaddress.getLocalHost (), 9090); // Eingabe Stream InputStream inputStream erhalten. 0; while ((Länge = inputStream.read (Daten))!
Ergebnis
Starten Sie zuerst den Server in der Befehlszeile und starten Sie dann den Client. Das Ergebnis ist wie folgt:
Das Bild ist relativ klein und sehr schnell!
Zusammenfassen
Das obige ist der vollständige Inhalt dieses Artikels über Java-Programmierung zur Implementierung eines Multi-Thread-TCP-Servers. Ich hoffe, es wird für alle hilfreich sein. Interessierte Freunde können weiterhin auf andere verwandte Themen auf dieser Website verweisen. Wenn es Mängel gibt, hinterlassen Sie bitte eine Nachricht, um darauf hinzuweisen. Vielen Dank an Freunde für Ihre Unterstützung für diese Seite!