在Java中,你可以使用ServerSocket
和Socket
類來監(jiān)聽端口和接收數(shù)據(jù)。
首先,你需要創(chuàng)建一個ServerSocket
對象,并指定要監(jiān)聽的端口號。然后,你可以使用accept()
方法來等待客戶端的連接請求,并返回一個Socket
對象來與客戶端進行通信。
一旦有客戶端連接成功,你可以使用Socket
對象的輸入流來接收數(shù)據(jù)。例如,你可以使用InputStreamReader
和BufferedReader
類來讀取數(shù)據(jù)。
下面是一個示例代碼,演示了如何監(jiān)聽端口并接收數(shù)據(jù):
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) {
try {
// 創(chuàng)建ServerSocket對象并指定端口號
ServerSocket serverSocket = new ServerSocket(8888);
System.out.println("等待客戶端連接...");
// 等待客戶端連接
Socket socket = serverSocket.accept();
System.out.println("客戶端連接成功!");
// 創(chuàng)建輸入流
InputStreamReader inputStreamReader = new InputStreamReader(socket.getInputStream());
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
// 讀取數(shù)據(jù)
String data = bufferedReader.readLine();
System.out.println("接收到的數(shù)據(jù):" + data);
// 關(guān)閉連接
bufferedReader.close();
inputStreamReader.close();
socket.close();
serverSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
注意:這只是一個簡單的示例代碼,演示了如何監(jiān)聽端口接收數(shù)據(jù)。在實際應(yīng)用中,你可能需要處理更多的異常情況,以及在多個客戶端連接時進行并發(fā)處理。