网络编程理解不够:Java Socket通信案例解析
Java Socket编程是一种基于TCP/IP协议进行两台计算机之间数据传输的编程方式。下面以一个简单的Socket通信案例来解析。
- 创建Server Socket:
在服务器端,首先需要创建一个Socket,指定监听的端口(如:8000)。
ServerSocket serverSocket = new ServerSocket(8000);
等待客户端连接:
当服务器启动并监听指定端口后,会一直等待客户端通过Socket连接到服务器。建立Client Socket连接:
在客户端,首先需要创建一个Socket,然后使用connect()
方法连接到服务端的指定端口(8000)。
Socket socket = new Socket("localhost", 8000));
- 发送和接收数据:
一旦连接成功,客户端就可以通过Socket向服务器发送数据,同时也可以从服务器接收到数据。
示例:
在客户端向服务器发送字符串:
try {
String message = "Hello, Server!";
socket.getOutputStream().write(message.getBytes());
System.out.println("Message sent successfully.");
} catch (IOException e) {
e.printStackTrace();
System.out.println("Error occurred while sending message.");
}
在服务器端接收客户端发送的数据:
try {
byte[] response = new byte[1024]; // Buffer to store received data
socket.getInputStream().read(response); // Read from server's input stream
String receivedMessage = new String(response);
System.out.println("Received message: " + receivedMessage);
} catch (IOException e) {
e.printStackTrace();
System.out.println("Error occurred while receiving message.");
}
这个案例详细解释了Java Socket编程的基本流程。
还没有评论,来说两句吧...