Java套接字聊天应用程序

Java套接字聊天应用程序,java,serversocket,Java,Serversocket,您好,我正在寻找使用socket构建聊天应用程序的指南,该应用程序允许客户端创建聊天室,以便其他客户端加入并聊天。我已经建立了一个聊天应用程序,它可以工作,客户可以加入,但客户在一个房间,不能移动到其他房间。我已经创建了一个类似的应用程序,它使用rmi创建了多个聊天室,用户可以添加聊天室供其他客户端加入和聊天。这次我想练习使用套接字。任何能让我开始的帮助或指导都是非常好的,谢谢。就我所能做的而言,你愿意吗 通过普通IO插槽进行连接,并且可能通过每个插槽一个读卡器线程阻塞NIO。 我建议您有一

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

就我所能做的而言,你愿意吗

  • 通过普通IO插槽进行连接,并且可能通过每个插槽一个读卡器线程阻塞NIO。
    • 我建议您有一个包装每个套接字的处理程序类
  • 使用基于文本的协议。
    • 您需要一个命令来添加到房间、从房间中删除、获取当前房间的列表以及发送消息
  • 允许单个客户端同时在多个房间中订阅/侦听/显示
    • 这意味着每个房间都需要一组处理程序
  • 您希望优雅地处理缓慢的消费者和断开连接

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

我们不会让你开始,这不是本网站的目的(搜索问题并使用谷歌)。但如果您确实有问题,我们将帮助您解决。对不起。我不是要密码。我想我需要重新写下我的意思。我已经创建了一个多聊天应用程序,可以接受多个客户端,但我不想知道服务器如何允许客户端创建聊天室。现在,我所有的socket聊天应用程序都只是将所有客户端添加到服务器ArrayList中,并在收到消息时更新所有客户端。我想我的问题是,如果客户端想要创建或加入一个文件室,服务器将如何拒绝?为此定义并实现您自己的协议。谢谢,我将了解这一点,但我正在考虑只使用套接字和服务器套接字。无论如何,谢谢你。这两个框架都使用nio套接字,并提供了一个底层内容的摘要,这样人们就可以专注于协议。第一点:我不太清楚你的意思抱歉,但我觉得这听起来不错。第二点:我一直在考虑这个问题,但不知道怎么做。我现在就试着去玩。第三点:是的,这是正确的。第四点:这就是我想做的正确:)。第五:我明白你的意思。我不知道你不知道什么如果你愿意,请再问我一个问题。对不起,我太早按回车键了