2011-10-14 26 views
1

我正在创建一个简单的即时消息客户端,客户端实例可以在端口上连接到服务器,然后发送并接收来自其他连接用户的消息。使用Java创建即时消息客户端

由于我得到客户端的输入System.in,所以我无法区分客户端何时尝试注册用户名或发送消息。当我从客户端收到文本时,如何有效区分服务器端的内容?

我已经考虑要求客户端指定用户发送到,这将作为一个指示,它是一个消息。这与您输入“/ tell username message”的游戏内聊天类似。

+0

你能澄清这个问题吗? – corsiKa

+0

听起来你想在某种程度上编写自己的协议。使用现有的协议将会减少很多工作,并且更安全。在尝试编写自己的答案之前,考虑查看下面答案中提到的一些答案。 – WilHall

回答

4

您应该考虑对现有协议实施或使用库,例如​​IRCXMPP

如果你不想那么做,试着从他们身上获取灵感。例如,IRC协议全部关于commands。要向用户写入私人消息或向某个频道发送消息,可以向服务器发送PRIVMSG命令,然后服务器解析命令,提取命令名称,收件人和消息,然后小心发送消息给收件人。

+2

为了进一步支持Radu的回答:IRC和XMPP作者已经思考,讨论并确定了针对您提出的确切问题的最佳解决方案。节省一些时间,不要重新发明轮子。 – jkeeler

相关问题