使用一台服务器和多个客户端在java套接字编程中创建会话

使用一台服务器和多个客户端在java套接字编程中创建会话,java,sockets,network-programming,Java,Sockets,Network Programming,我是java的新手程序员。 我创建了一个类似于使用套接字编程的聊天应用程序的程序。 我没有用过线 我的问题是: 每当一个客户端1希望通过服务器与另一个客户端2通信时,我如何知道哪个客户端正在通信 我想,如果我可以通过使用会话来区分所有客户端和服务器端,这会更容易。只是一个随意的想法 为什么要问这个问题 我想知道这一点,因为我已经将客户机的地址与序列号一起存储在一个文件中,以使消息对全局可见。每当客户端发送消息时,它都会在消息的前面加上一个序列号,该序列号是从该文件中存储的client1-clie

我是java的新手程序员。 我创建了一个类似于使用套接字编程的聊天应用程序的程序。 我没有用过线

我的问题是:

每当一个客户端1希望通过服务器与另一个客户端2通信时,我如何知道哪个客户端正在通信

我想,如果我可以通过使用会话来区分所有客户端和服务器端,这会更容易。只是一个随意的想法

为什么要问这个问题

我想知道这一点,因为我已经将客户机的地址与序列号一起存储在一个文件中,以使消息对全局可见。每当客户端发送消息时,它都会在消息的前面加上一个序列号,该序列号是从该文件中存储的client1-client2对中获取的


任何帮助都将不胜感激。我只是一个java学习者。很抱歉我的问题太模糊了。

首先,尝试创建一个线程来打开套接字,因为它有助于GUI处理。您希望看到的客户端名称可以通过以下步骤完成:-

添加一个编辑框,输入您的名称(客户端名称),并将此名称与邮件一起发送,在服务器端拆分邮件和名称,以便确定由谁发送的邮件

示例:-客户端名称为Alex,消息为“hi”,然后将发送的数据类似于“Alex+hi”。现在在服务器端使用java中的split()函数拆分此消息。
希望这种编码和解码能对您有所帮助。

每个客户端套接字对象对每个客户端都是唯一的吗?您是否使用单个TCP连接与多个逻辑客户端通信?理想情况下,您可以创建一些会话类,并使用将套接字映射到套接字对象的映射。正如你所说。我使用一个连接来连接多个客户端。实际上,我想知道client2在client1中的位置。我调用了一个方法,该方法请求服务器告知client2是否在client1的网络中。现在服务器必须知道哪个客户端想要知道client2的状态。查找客户端1对我来说是不可见的。