-1

您好我正在寻找使用套接字构建聊天应用程序的指导,该应用程序允许客户创建房间供其他客户加入和聊天。我已经建立了一个聊天应用程序,它可以工作,客户可以加入,但是客户在一个房间里,不能移动到其他房间。我创建了一个类似的应用程序,使用 rmi 用户可以添加房间供其他客户加入和聊天。这次我想练习使用socket。任何让我开始的帮助或指导都会非常感谢。

4

2 回答 2

2

据我所知,你想

  • 通过普通的 IO 套接字连接,并且可能通过每个套接字一个读取器线程阻塞 NIO。
    • 我建议你有一个包装每个套接字的处理程序类。
  • 使用基于文本的协议。
    • 您需要一个命令来添加到房间、从房间中删除、获取当前房间列表以及发送消息。
  • 允许单个客户一次订阅/收听/出现在多个房间
    • 这意味着每个房间都需要一组处理程序。
  • 您想要处理缓慢的消费者并优雅地断开连接。
于 2013-04-22T19:58:19.187 回答
0

要实现通信层,您应该查看 nettyapache mina。两者都满足您对客户端和服务器端的需求。我猜他们已经有一个聊天协议示例。

于 2013-04-22T20:00:18.420 回答