我是java的新手程序员。 我创建了一个类似于使用套接字编程的聊天应用程序的程序。 我没有使用过线程。
我的问题是:
每当client1想要通过服务器与另一个客户端2通信时,我怎么知道哪个客户端正在通信。
我想如果我可以通过使用会话来区分所有客户端和服务器端,那将更容易。只是一个随机的想法。
为什么这个问题??
我想知道这一点,因为我已经将客户的广告存储在一个文件中,并附有一个序列号,以使消息对全局唯一可见。每当客户端发送一条消息时,它就会在前面加上一个序列号,该序列号是从存储在该文件中的client1 client2对中获得的。
非常感谢任何帮助。我只是java的学习者。对于我提问中的任何晦涩,我道歉。
答案 0 :(得分:0)
首先,尝试创建一个线程来打开套接字,因为它有助于GUI处理。您想要查看客户端名称的重点可以通过以下步骤完成: - 添加一个编辑框并输入您的名称(客户端名称)并将此名称与消息一起发送,并在服务器端分割消息和名称,以便您可以确定由谁发送的消息。 例如: - 客户名称为Alex,消息为" hi"那么将要发送的数据就像" Alex + hi"。现在使用服务器端java中的 split()函数拆分此消息。 希望这种编码和解码能为您提供帮助。