标签: java
我正在创建一个简单的IM客户端,客户端实例可以在端口上连接到服务器,然后发送到其他连接用户并从其接收消息。
由于我是从客户端System.in获取输入的,因此我无法区分客户端何时尝试注册用户名或发送消息。当从客户端收到文本时,如何有效地区分服务器端的内容?
System.in
我考虑过要求客户指定要发送的用户,这将作为消息的指示。这类似于游戏中的聊天,您键入" /告诉用户名消息"。
答案 0 :(得分:4)
您应该考虑为现有协议实施或使用库,例如IRC或XMPP。
如果您不愿意这样做,请尝试从中获取灵感。例如,IRC协议全部都是commands。要向用户写入私人消息或向消息发送消息,您向服务器发送PRIVMSG命令,然后服务器解析命令,提取命令名称,收件人和消息,然后小心将邮件发送给收件人。
PRIVMSG