banner
ximalaya

ximalaya

这里是openkava 的blog,关注程序开发的一切技术。 ZZ 表示转载的文章,如涉及版权,请和我联系删除。 在这里你可以看到关于以下技术的文章: 移动开发技术,ANDROID ,IOS,WINDOWS PHONE平台开发,企业ERP开发,动态脚本PYTHON ,OPENGL ES 3D技术,游戏开发技术,HTML5 ,JAVASCRIPT ,MYSQL,AMAZON EC2 ,GOOGLE GAE ,GOOGLE CLOUD SQL 等 。 本站发展历程: 2010年,正式把所有的blog移到这里,租用godaddy的空间,记录生活和工作上的一些心得。 下面是关于我的个人介绍,写在这里权当凑字数啦。 职业:软件开发,开发经验6年,管理经验3年; 工作上使用的技术:C#, SQL SERVER 个人使用的技术:PYTHON,PHP, CSS, JAVA ,ANDROID ,object-c 等等 联系我请发邮件:<a href="http://blog.openkava.com/openkava@gmail.png"><img class="alignnone size-full wp-image-96" title="邮箱" src="http://blog.openkava.com/openkava@gmail.png" alt="" width="174" height="24" /></a>

Preliminary Proposal for Large-scale Multiplayer Interactive Online System

A friend asked about developing a multiplayer online chat system. After comparing some surveyed and open-source systems, the following conclusions were drawn:

  1. Server selection: smrtfoxserver 2.x. For server development, Java or Python can be chosen. Python can quickly develop prototype demos, and Java is also a good choice with many available open-source codes. The client supports Android, ActionScript, Unity 3D, Silverlight, etc., which basically covers mobile development.

There are successful cases and large companies also use it, so there is no need to worry about performance issues. The only drawback is that the cost is too high, but it is free for up to 100 users.

  1. Server using openfire open-source server: The server is developed in Java and uses Mina internally to implement network interfaces. Mina is a non-blocking network protocol implementation similar to Netty and XSocket. Currently, only Android can be used as the client, using the asmack library. The XMPP protocol is used to implement message flow.

  2. If mobile platforms are not considered, node.js + WebSocket can be used for implementation, which is also a good choice.

  3. Tornado Python web server can be considered, which is also non-blocking and supports over 1K user connections.

  4. It is recommended to use Amazon EC2 servers for easy scalability. The front-end can use Nginx + Tornado, developed in Python. The client technology uses HTML5 + native calls. Platforms: web, Android, iOS, WP7. Data exchange is done through REST APIs using JSON format. The database used is Amazon's MySQL.

  5. Google GAE + Cloud SQL can be used. Advantages: no need to consider service scalability, as Google takes care of it for you.

Disadvantages: limited development languages and environments.

I have not used it personally, but I am planning to use the fifth solution to create a demo:

Goal: Build a platform for image communication, where users can easily communicate with each other through handwritten messages. It should be able to accommodate 100K users simultaneously.

Timeline: 1 year of part-time development.

 

 

 

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.