Java Networking
javaJava provides a comprehensive set of networking APIs (Application Programming Interfaces) that enable developers to write programs that can communicate over a network. Some common tasks that can be performed using Java’s networking APIs include:
- Connecting to a server and sending and receiving data
- Setting up a server and listening for incoming client connections
- Reading and writing files over a network
- Sending email
- Performing DNS (Domain Name System) lookups
Here are some of the main classes and interfaces in the Java networking APIs:
java.net.URL
: Represents a uniform resource locator (URL) and can be used to create a connection to a remote resource.java.net.HttpURLConnection
: Represents a connection to a URL for reading or writing data.java.net.Socket
: Represents a connection between a client and a server.java.net.ServerSocket
: Represents a server-side socket that listens for incoming client connections.java.net.DatagramSocket
: Represents a socket for sending and receiving datagram packets.java.net.InetAddress
: Represents an IP (Internet Protocol) address.
Here is an example of how to use the java.net.Socket class to create a client that connects to a server and sends a message:
import java.io.*;
import java.net.*;
public class Client {
public static void main(String[] args) {
String host = "localhost";
int port = 8080;
String message = "Hello, World!";
try (Socket socket = new Socket(host, port)) {
OutputStream output = socket.getOutputStream();
PrintWriter writer = new PrintWriter(output, true);
writer.println(message);
InputStream input = socket.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(input));
String response = reader.readLine();
System.out.println(response);
} catch (IOException e) {
e.printStackTrace();
}
}
}
And here is an example of how to use the java.net.ServerSocket
class to create a server that listens for incoming
client
connections and echoes back any messages it receives:
import java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args) {
int port = 8080;
try (ServerSocket serverSocket = new ServerSocket(port)) {
while (true) {
Socket clientSocket = serverSocket.accept();
OutputStream output = clientSocket.getOutputStream();
PrintWriter writer = new PrintWriter(output, true);
InputStream input = clientSocket.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(input));
String message = reader.readLine();
writer.println("Echo: " + message);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
For more information on the Java networking APIs, you can refer to the official Java documentation at https://docs.oracle.com/en/java/javase/14/docs/api/java.
Other Article on Tag java
- - after and before in java date
- - am pm java date format
- - apk minecraft java edition
- - as been blocked by CORS policy Response to preflight request doesn't pass access control check It does not have HTTP ok status
- - bubble sort in java
- - Can I compile and run a spring boot jar from inside another spring boot application
- - convert java date to localdate
- - design patterns in java
- - encrypt by java and decrypt by node
- - exception handling in java