2013-03-14 42 views
5

Tôi có một phiên bản ServerSocket đang lắng nghe các kết nối. Khi một khách hàng kết nối với nó, tôi muốn nhận được IP của socket được kết nối, nhưng dường như không thể tìm ra phương thức đúng để làm như vậy.ServerSocket + client Socket - làm cách nào để nhận địa chỉ IP của ứng dụng khách?

public void start() { 
    listenSocket = new ServerSocket(port); 
    connectionSocket = listenSocket.accept(); 
} 

Tôi đã cố gắng kêu gọi sau đây không có may mắn:

connectionSocket.getLocalAddress(); 
connectionSocket.getInetAddress.getHostAddress(); 
listenSocket.getLocalSocketAddress(); 

Không ai trong số sự trở lại trên địa chỉ IP chính xác. Họ trả về "/ 0: 0: 0: 0: 0: 0: 0: 1% 0" hoặc "0.0.0.0".

Tôi đang làm gì sai?

+1

Địa chỉ địa phương là kết thúc của bạn. Bạn muốn địa chỉ từ xa, đầu kia. – EJP

Trả lời

13
connectionSocket.getRemoteSocketAddress(); 
Các vấn đề liên quan