Java Socket套接字编程是实现网络通信的一种方式,它允许不同计算机上的应用程序通过网络进行数据交换。以下是Java Socket套接字编程的一些基础知识:
Socket socket = new Socket("服务器地址", 端口号);
ServerSocket serverSocket = new ServerSocket(端口号);
Socket clientSocket = serverSocket.accept(); // 阻塞等待客户端连接
InputStream inputStream = socket.getInputStream();
OutputStream outputStream = socket.getOutputStream();
socket.close();
clientSocket.close();
serverSocket.close();
try-catch块来捕获和处理可能的异常,例如IOException。new Thread(() -> {
try {
// 处理客户端请求
} catch (IOException e) {
e.printStackTrace();
}
}).start();
ObjectInputStream和ObjectOutputStream)来传输对象。BufferedInputStream和BufferedOutputStream)来提高数据传输效率。import java.io.*;
import java.net.*;
public class Client {
public static void main(String[] args) {
try (Socket socket = new Socket("localhost", 8080);
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()))) {
out.println("Hello, Server!");
String response = in.readLine();
System.out.println("Server says: " + response);
} catch (IOException e) {
e.printStackTrace();
}
}
}
import java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args) {
try (ServerSocket serverSocket = new ServerSocket(8080)) {
System.out.println("Server is listening on port 8080");
while (true) {
try (Socket clientSocket = serverSocket.accept();
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()))) {
String inputLine;
while ((inputLine = in.readLine()) != null) {
System.out.println("Client says: " + inputLine);
out.println("Echo: " + inputLine);
}
} catch (IOException e) {
e.printStackTrace();
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
通过这些基础知识,你可以开始进行基本的Java Socket套接字编程。随着经验的积累,你可以进一步探索更高级的主题,如多线程处理、NIO、SSL/TLS加密等。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。