我目前正在使用
Socket s = new Socket(HOST, 8000);
创建一个套接字以连接到我的ServerSocket server = new ServerSocket(8000)
。
有了这个,我实际上可以使用server.accept();
来访问hostName,例如。
但是,如果我想在连接到服务器之前发送客户端选择的客户端名称之类的自定义参数,我该怎么办呢?
答案 0 :(得分:1)
主机名是通过域名服务(DNS)建立的。如果您希望客户端拥有主机名,则您的客户端将需要DNS列表。如果这是您想要追求的目标,您可能希望在此站点或ServerFault或SuperUser站点上查看有关DNS的其他问题。
如果您只是想要一个客户端标识符以方便您的系统,您可以在建立连接后使用您为客户端和服务器建立的协议(即通信格式)通过连接发送它。例如,您的客户端可以将包含其名称的序列化java.lang.String发送到服务器,这是它在连接上所做的第一件事。然后,您的服务器可以在建立后从连接中读取名称。