Heim  >  Artikel  >  Java  >  Socket-Programmierung in Java

Socket-Programmierung in Java

WBOY
WBOYOriginal
2024-08-30 16:27:37976Durchsuche

Das World Wide Web und das Internet haben die Art und Weise verändert, wie wir leben und miteinander kommunizieren sowie die Art und Weise, wie wir Wissenschaft, Technik und Handel betreiben. Das moderne Leben wird vollständig durch das Internet bestimmt oder dreht sich um dieses. Unternehmen suchen ständig nach neuen Wegen, um verschiedene Dienstleistungen auf eine neue Art und Weise zu produzieren und mit ihnen zu kommunizieren, indem sie Innovationen einführen. In diesem Artikel besprechen wir die Socket-Programmierung in Java.

Sockets bieten eine Schnittstelle für Programmiernetzwerke der Transportschicht des OSI-Modells. Netzwerkkommunikation über Sockets ist im Internet allgegenwärtig. Darüber hinaus kann ein in Java geschriebenes Socket-Programm mit einem Socket-Programm kommunizieren, das in einer Nicht-Java-Sprache wie C, C++, Python usw. geschrieben ist.

WERBUNG Beliebter Kurs in dieser Kategorie PROGRAMMIERSPRACHEN - Spezialisierung | 54 Kursreihe | 4 Probetests

Starten Sie Ihren kostenlosen Softwareentwicklungskurs

Webentwicklung, Programmiersprachen, Softwaretests und andere

Socket-Klassenmethoden

Socket-Klassenmethoden gibt es in Java. Ein Socket muss eine Portnummer sein, damit das TCP die Portnummer erkennt, an die die Daten gesendet werden sollen. Java bietet eine Reihe von Klassen, eine davon ist java.net. Dies dient der schnellen Entwicklung von Netzwerkanwendungen. Die im java.net-Paket enthaltenen Schlüsselklassen, Schnittstellen und Ausnahmen vereinfachen die Komplexität bei der Erstellung von Client- und Serverprogrammen:

Klassen sind:

  • Content-Handler
  • Datagrammpaket
  • Datagramm-Socket
  • Datagram Socket Imp 1
  • HTTP-URL-Verbindung
  • Ich habe eine Netzadresse
  • Multicast-Socket
  • Server-Socket
  • Steckdose
  • Socket Imp 1
  • URL
  • URL-Verbindung
  • URL-Encoder
  • URL-Stream-Handler

Schnittstellen sind:

  • Content Handler Factory
  • Dateinamenszuordnung
  • Socket Impl Factory
  • URL Stream Handler Factory

Ausnahmen sind:

  • Bindungsausnahme
  • Connect-Ausnahme
  • Fehlerhafte URL-Ausnahme
  • Keine Route-to-Host-Ausnahme
  • Protokollausnahme
  • Socket-Ausnahme
  • Unbekannter Host-Ausnahme
  • Unbekannte Dienstausnahme

TCP/IP-Socket-Programmierung

Es werden zwei Klassen aus dem java.net-Paket verwendet, die bei der Erstellung von Programmen verwendet werden.

  • Server-Socket
  • Steckdose

Ein Serverprogramm kommuniziert über Eingabe- und Ausgabeströme. Liegt eine Verbindungsanfrage vor, dann kommt ein neuer Socket ins Spiel und hiermit wird eine Verbindung aufgebaut.

Socket-Programmierung in Java

Methode 1 – Erstellen eines Server-Socket-Programms

Es gibt verschiedene Schritte zum Erstellen eines Server-Socket-Programms in Java.

Die einfachen Schritte zum Erstellen eines Server-Socket-Programms sind wie folgt:

Schritt 1: Der Socket-Server wird geöffnet.

Server Socket General= new Server Socket(PO)

Hier ist PO die Portnummer.

Hier wird die Portnummer dem Servernetzwerk zugewiesen, über das er mithilfe von Eingabe-/Ausgabeströmen kommuniziert.

Schritt 2: Es liegt eine Kundenanfrage vor, auf die wir geduldig warten müssen.

Socket General= server. accept()

Hier ist der Server. Accept() wartet auf den Client und der Name des Sockets ist hier Client.

Schritt 3: I/O-Streams werden erstellt, sodass eine Verbindung hergestellt wird

Dateneingabestrom

is = new Data Input Stream(client. Get Input Stream());

Datenausgabestream

os = new Data Output Stream(client. get Output Stream());

Dem Eingabestream und dem Ausgabestream wird die Funktion „Get Input Stream()“ zugewiesen und sie werden entsprechend aufgerufen.

Schritt 4: Kontakt zum Kunden wird hergestellt.

Vom Kunden erhalten:

string hello = br. Read Line();

Senden Sie es an den Kunden:

br. Write Bytes("How are you\n");

Der folgende Code kommuniziert mit dem Client, der die Anfragen empfängt und an einen Client sendet.

Schritt 5: Schließlich wird der Socket zum Beenden gebracht.

Abschließend wird die Funktion „Socket schließen“ verwendet, um die Socket-Programmierung zu schließen und zu beenden.

Ein einfaches Beispiel für einen Server-Socket ist unten dargestellt:

Ein einfaches Programm zum Verbinden des Servers.

Code:

import java.net.*;
import java.io.*;
public class SimpleMachine {
public static void main(String args[]) throws IOException {
// On port 1362 server port is registered
ServerSocket soc = new ServerSocket(1362);
Socket soc1=soc.accept(); // Link is accepted after waiting
// Linked with the socket there should be a connection
OutputStream s1out = soc1.getOutputStream();
DataOutputStream dosH = new DataOutputStream (s1out);
// A string command is sent
dosH.writeUTF("Hello how are you");
// The connection can be closed but the server socket cannot.
dosH.close();
s1out.close();
soc1.close();         }
}

Methode 2 – Erstellen eines einfachen Server-Socket-Programms

Jetzt sehen wir ein einfaches Client-Programm in Java.

Die Schritte zum Erstellen eines einfachen Client-Programms in Java werden unten gezeigt:

Schritt 1: Socket-Objekt wird erstellt.

Socket client= new Socket(server, port_id)

Der Server und die Port-ID sind verbunden; das heißt, der Server ist mit der Port-ID verbunden.

Schritt 2: Eingabe-/Ausgabeströme werden erstellt.

is = new Data Input Stream(client.getInputStream());
os = new Data Output Stream(client.getOutputStream());

Der Eingabestream wird verwendet, und das Ausgabestream-Betriebssystem wird für die Kommunikation mit dem Client verwendet.

Step 3: Input/Output streams are made for talking to the Client.

Data is read from the server:

string hello = br. readLine();

Send data to the server:

br.writeBytes("How are you\n")

This step communicates with the server. The input stream and output stream both communicates with the server.

Step 4: Close the Socket when done.

This function will close the client when it is finally done.

An example of a simple server socket program is shown below.

A simple program for the client.

Code:

import java.net.*;
import java.io.*;
public class SimpleMachineClient {
public static void main(String args[]) throws IOException
{
// At port 1325, connection to the server is opened
Socket s1H = new Socket("host",1325);
// Read the input stream by getting an input file from the socket
Input Stream s1I = s1. getInputStream();
Data Input Stream disH = new Data Input Stream(s1In);
String str = new String (disH.readUTF());
System.out.println(str);
// After it is done, we can close the connection.
disH.close();
s1I.close();
s1H.close();
}
}

Conclusion

Socket programming is beneficial in Java and in any other programming language. A program written in Java can connect with a program written in C or C++. In other words, the language of the socket program doesn’t matter when there has to be a connection between the two. In this article, we have basically seen the Simple Server and the Simple Client example where there is a connection between the server socket and in the other, there is a connection between the server socket. We have used TCP/IP programming for the same. However, there are a lot of programming techniques like UDP programming techniques and URL programming techniques. We have not seen examples of such in this article. We have stressed on TCP/IP programming technique.

Das obige ist der detaillierte Inhalt vonSocket-Programmierung in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Matrixmultiplikation in JavaNächster Artikel:Matrixmultiplikation in Java