java - 在java中使用套接字的本地客户端的ID

标签 java sockets

我想为通过服务器连接的客户端获取唯一的 ID。我有很多客户,但是,每个客户都想要一个不同的 ID。一个封闭的解决方案类似于:

Socket cliente = servidor.accept();

        System.out.println("New connection with" +   
        cliente.getInetAddress().getHostAddress());
        String addr = servidor.getLocalSocketAddress().toString();
        ThreadServidor ts = new ThreadServidor(addr, cliente); 
        ts.start();

客户端具有相同的连接代码:

  Socket conexao = new Socket("127.0.0.1", 12345);

我也需要自己的客户端IP和连接的端口信息。 谢谢

最佳答案

可以在套接字 cliente 上调用以下方法来获取本地和远程 IP 地址以及本地和远程端口。

getLocalAddress()
getLocalPort()
getInetAddress() // gets the remote address
getPort() // gets the remote port

所有这些信息的组合是独一无二的。

更多信息请参见 Javadoc:

http://docs.oracle.com/javase/7/docs/api/java/net/Socket.html

关于java - 在java中使用套接字的本地客户端的ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30518444/

相关文章:

sockets - perl6 IO::Socket::INET 与去年相比的变化以及违背的 promise

使用 Mocha.js 时,node.js 套接字挂起

java - 说明资源路径位置类型缺少包括 : test. xsl

java - 如何使用 RestEasy 将 JSON 转换为 POJO 列表

c++ - WSARecv Hook : prevent packet from being recieved by the executable

.net - 套接字队列问题?

java - 如何编写java正则表达式来识别java函数?

java - 创建16位随机数(JAVA)

java - 构造函数采用与参数相同的类型有什么用? java

C 使用伯克利套接字发送文件