在Java中,可以使用ServerSocket类来监听端口并接收数据。
以下是一个简单的示例代码:
```java
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) throws IOException {
// 创建ServerSocket对象,指定监听的端口号
ServerSocket serverSocket = new ServerSocket(8888);
System.out.println("服务器启动,等待客户端连接...");
// 监听端口并接收客户端连接
Socket socket = serverSocket.accept();
System.out.println("客户端连接成功!");
// 获取输入流,用于接收数据
InputStream inputStream = socket.getInputStream();
// 创建一个byte数组,用于存放接收到的数据
byte[] buffer = new byte[1024];
int length;
// 循环读取数据
while ((length = inputStream.read(buffer)) != -1) {
// 处理接收到的数据
String data = new String(buffer, 0, length);
System.out.println("接收到客户端数据:" + data);
}
// 关闭连接
socket.close();
serverSocket.close();
}
}
```
在上述代码中,我们首先创建了一个ServerSocket对象,并指定要监听的端口号。然后使用accept()方法监听端口并接收客户端连接,返回一个表示连接的Socket对象。接下来,我们通过Socket对象获取输入流,然后使用输入流的read()方法来读取客户端发送的数据。最后,我们对接收到的数据进行处理,并在控制台上打印出来。最后,记得在程序结束后关闭连接。
这只是一个简单的示例,真实的使用场景中可能需要考虑多线程、异常处理等。