java tcp 报文_java使用TCP协议传输报文,服务器端
时间: 2024-01-15 09:21:04 浏览: 34
可以通过以下步骤接收客户端发送的TCP报文:
1. 创建一个ServerSocket对象并绑定端口号。
2. 调用ServerSocket的accept()方法,等待客户端连接请求。
3. 当有客户端连接请求时,accept()方法会返回一个Socket对象,该对象表示与客户端的通信连接。
4. 通过Socket对象的getInputStream()方法获取输入流,可以读取客户端发送的TCP报文。
5. 通过Socket对象的getOutputStream()方法获取输出流,可以向客户端发送TCP报文。
下面是一个简单的Java TCP服务器端的示例代码:
```java
import java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args) throws IOException {
int port = 8888;
ServerSocket serverSocket = new ServerSocket(port);
System.out.println("Waiting for client connection...");
Socket clientSocket = serverSocket.accept();
System.out.println("Client connected: " + clientSocket);
BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
String inputLine;
while ((inputLine = in.readLine()) != null) {
System.out.println("Received message from client: " + inputLine);
out.println("Server received message: " + inputLine);
}
in.close();
out.close();
clientSocket.close();
serverSocket.close();
}
}
```
在上面的示例代码中,我们创建了一个ServerSocket对象,并绑定了端口号8888。然后调用accept()方法等待客户端连接请求。当有客户端连接时,我们获取客户端Socket对象,并通过Socket对象获取输入流和输出流。在while循环中,我们不断读取客户端发送的消息,并向客户端发送回复。最后,我们关闭输入流、输出流和Socket对象,并关闭ServerSocket对象。