Tag: 单声道

(轻量级)即时通讯:C#.Mono,node.js或其他?

我应该使用哪种编程语言编写Instant Messenger? 以下是目标: 应该能够处理许多许多用户(至less为了概念certificate) 协议应该基于json或者二进制数据。 我想json更容易实现和扩展。 由于开销,我不想使用XML。 我知道这不是太多的数据,但应该尽可能快,尤其是在慢速networking(例如移动networking)上。 用户应该能够同时在多个设备上login 历史应保存在服务器端,以便在所有设备上查看 服务器应该保持很多空闲的客户端活着 文件传输(不太清楚如何实现,也许是一个不同的networking套接字,所以它不会阻止客户端的聊天消息) MySQLauthentication (不,XMPP不是一个选项)。 我是一个在PHP有很好的经验的Web开发人员,但这不是这个项目的选项。 我也有使用Javascript(主要是网站)的经验,但是使用node.js很容易,而且我没有C#.Net的经验,也可以编写C#.Mono。 我想写的服务器应该在Linux上运行。 我没有Java的经验,但如果这是我可以学习的最好的方法。 我已经读了很多关于node.js的知识,而且它的I / O对于networking应用程序和Web服务器来说确实很好。 但即时通讯呢? 主要部分是保存消息并将其代理给其他房间参与者,所以它是“networking”。 我也想过C#,它提供了asynchronous套接字,它使用线程池afaik而不是事件队列。 我不确定哪一个是最有效的IM服务器。 如果有人能给我一个提示,这将是很好的。 我知道C ++可能是最好的方式,但我不知道怎么样,这种语言很难学习。