我正在用Java创建一个客户端/服务器聊天(多线程)应用程序。
我想听一下特定端口和IP的客户端。
当我这样做时:
ServerSocket serverSocket = new ServerSocket(port);
Socket socket = serverSocket.accept(); // accept connection
// more code
这是否意味着我正在收听的IP是127.0.0.1
?即localhost
?
从ServerSocket对象的构造函数看,我们有3种类型的构造函数:
public ServerSocket(int port) throws IOException
public ServerSocket(int port, int backlog) throws IOException
public ServerSocket(int port, int backlog, InetAddress bindAddr) throws IOException
如果我想从 OTHER IP地址获取客户
,我应该使用什么构造函数?这一个:
public ServerSocket(int port) throws IOException
或者这个:
public ServerSocket(int port, int backlog, InetAddress bindAddr) throws IOException
?
非常感谢
答案 0 :(得分:1)
这意味着我正在收听的IP是127.0.0.1吗?即localhost?
没有。这意味着您正在侦听主机的所有IP地址。
如果我想从其他IP地址获取客户端,我应该使用什么构造函数?
这一个。
答案 1 :(得分:-1)
InetAddress inetAddress = InetAddress.getByName("192.168.1.1");
int port =8081;
serverSocket = new ServerSocket(port,5,inetAddress);
你是说这个吗?愿它有用吗? 第二个论点意味着 - 请求传入连接队列的最大长度(来自jdc)。