【发布时间】:2014-12-28 00:59:34
【问题描述】:
如何通过套接字将文件从一个客户端 (A) 发送到另一个客户端 (B)?反之亦然,将文件从 B 发送到 A。我的意思是同时使客户端发送者和接收者。 换句话说,当 muticlient 连接到服务器时,我如何区分客户端?
【问题讨论】:
标签: java file sockets connection client-server
如何通过套接字将文件从一个客户端 (A) 发送到另一个客户端 (B)?反之亦然,将文件从 B 发送到 A。我的意思是同时使客户端发送者和接收者。 换句话说,当 muticlient 连接到服务器时,我如何区分客户端?
【问题讨论】:
标签: java file sockets connection client-server
这是使用他们的 id 管理客户的好方法(即每个用户的唯一长或字符串或任何其他)。在连接到套接字客户端时,发送他们的 id ,存储在集合中。当用户(客户端)想要发送文件时,发送带有自己的 id 和该用户(客户端)想要发送的 Id。
【讨论】:
你需要实现你自己的通信消息格式,简而言之就是一个简单的协议。
您将所有活动套接字的列表保存在共享列表/映射中,并根据来自消息的请求选择 apt 客户端并将所需的消息推送到该客户端。
您可以根据需要实现实际的消息格式,但这可以是蓝图。 在这种情况下,假设您的客户端 A 发送消息:1. 客户端 ID 2. 文件开始 3 X。文件内容4.文件结束
一旦您获得连接,您就会获得目标客户端 ID,文件开始消息让您了解下一条消息只需要转移到目标,文件结束消息定义传输完成。
此外,您可能希望从服务器向客户端发送确认消息,以消除传输问题。
【讨论】: