欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java 實(shí)現(xiàn)tcp和udp

Java 是一門廣泛使用的編程語(yǔ)言,它支持通過(guò)TCP和UDP協(xié)議進(jìn)行所有類型的網(wǎng)絡(luò)編程。

簡(jiǎn)單來(lái)說(shuō),TCP協(xié)議是一種安全、可靠且有序的數(shù)據(jù)傳輸協(xié)議,而UDP則是一種速度更快但不可靠的協(xié)議。

在Java中,可以使用Socket類來(lái)實(shí)現(xiàn)TCP協(xié)議的網(wǎng)絡(luò)編程。

//客戶端代碼
import java.io.*;
import java.net.*;
public class TCPClient {
public static void main(String[] args) {
try (
Socket socket = new Socket("localhost", 8080);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
) {
out.println("Hello, Server");
String response = in.readLine();
System.out.println("Server response: " + response);
} catch (Exception e) {
e.printStackTrace();
}
}
}
//服務(wù)器端代碼
import java.io.*;
import java.net.*;
public class TCPServer {
public static void main(String[] args) {
try (
ServerSocket serverSocket = new ServerSocket(8080);
Socket socket = serverSocket.accept();
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
) {
String line = in.readLine();
System.out.println("Client message: " + line);
out.println("Hello, Client");
} catch (Exception e) {
e.printStackTrace();
}
}
}

與TCP不同,UDP是一種無(wú)連接的協(xié)議,因此代碼實(shí)現(xiàn)上較為簡(jiǎn)單。

//客戶端代碼
import java.io.*;
import java.net.*;
public class UDPClient {
public static void main(String[] args){
try (
DatagramSocket socket = new DatagramSocket();
) {
String message = "Hello, Server";
byte[] buffer = message.getBytes();
InetAddress address = InetAddress.getByName("localhost");
DatagramPacket packet = new DatagramPacket(buffer, buffer.length, address, 8081);
socket.send(packet);
System.out.println("Client sent message: " + message);
} catch (Exception e) {
e.printStackTrace();
}
}
}
//服務(wù)器端代碼
import java.io.*;
import java.net.*;
public class UDPServer {
public static void main(String[] args) {
try (
DatagramSocket socket = new DatagramSocket(8081);
) {
byte[] buffer = new byte[1024];
DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
socket.receive(packet);
String message = new String(packet.getData(), 0, packet.getLength());
System.out.println("Server received message: " + message);
} catch (Exception e) {
e.printStackTrace();
}
}
}

通過(guò)以上代碼,可以輕松地實(shí)現(xiàn)Java對(duì)于TCP和UDP協(xié)議的支持,希望對(duì)于學(xué)習(xí)網(wǎng)絡(luò)編程的讀者有所幫助。