您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
Java中的网络编程是一个强大而复杂的功能,它允许程序通过网络与其他计算机进行通信。以下是Java网络编程的一些基础知识和常见应用:
OSI七层模型:
常见网络协议:
Socket编程:
简单示例:
// 简单TCP服务器
import java.io.*;
import java.net.*;
public class SimpleTCPServer {
public static void main(String[] args) {
try (ServerSocket serverSocket = new ServerSocket(12345)) {
System.out.println("服务器启动,等待客户端连接...");
Socket clientSocket = serverSocket.accept();
System.out.println("客户端已连接!");
BufferedReader reader = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
String message = reader.readLine();
System.out.println("收到消息: " + message);
} catch (IOException e) {
e.printStackTrace();
}
}
}
// 简单TCP客户端
import java.io.*;
import java.net.*;
public class SimpleTCPClient {
public static void main(String[] args) {
try (Socket socket = new Socket("localhost", 12345);
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()))) {
out.println("Hello, Server!");
System.out.println("收到服务器响应: " + in.readLine());
} catch (IOException e) {
e.printStackTrace();
}
}
}
import java.io.*;
import java.net.*;
public class MultiThreadServer {
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = new ServerSocket(12345);
System.out.println("多线程服务器已启动...");
while (true) {
Socket socket = serverSocket.accept();
new ClientHandler(socket).start();
}
}
}
class ClientHandler extends Thread {
private Socket socket;
public ClientHandler(Socket socket) {
this.socket = socket;
}
public void run() {
try {
handleClient();
} catch (IOException e) {
e.printStackTrace();
}
}
private void handleClient() throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
String inputLine;
while ((inputLine = in.readLine()) != null) {
System.out.println("客户端: " + inputLine);
out.println("Echo: " + inputLine);
}
}
}
java.nio
包实现非阻塞I/O操作。通过这些基础知识和示例,你可以开始进行Java网络编程,并逐步掌握更复杂的应用技巧。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。