我想知道用Java创建聊天/通信软件的正确方法是什么?
我猜这是一个Socket(TCP / UDP)。
如果我以自己的方式这样做,就像使用带有后端脚本的PHP的Web调用一样,为什么它不是那么适合创建聊天的方式?他们之间有什么区别?使用呼叫而不是原始套接字?是否使用更多电池或其他东西?我只是觉得有时解析消息的JSON并通过网络电话发送数据会更容易,但我觉得这不是一种正确的方法,而且应用程序可能会遇到一些关键问题,例如耗尽电池或者会出现问题让项目停止。
我想确定是否有其他方法来创建聊天,而不是套接字,并且每个着名的开发人员都使用套接字作为创建通信软件的主要方法吗?
答案 0 :(得分:0)
协议可以是套接字或其他如 XMPP
如果您更喜欢使用Socket,SmartFox可能是您可以依赖的库之一。 Smartfox为许多语言提供SDK,例如C#,Java等。
但是请注意,如果使用套接字进行通信,通常使用json NOT ,因为大多数情况下,二进制对象用于基于套接字的通信,例如,SmartFox使用ISFSObject,它将所有数据包装成二进制对象。
以下帖子可能对您有用,虽然它不是用java编写的,但实际上工作流程完全相同。
除了socket和xmpp appraoches之外,您还可以选择使用 WebRTC ,其中没有此类服务器,并且使用对等通信。可以找到一个很好的教程here。