帮你等待中....
虽然我也写过socket程序 但这样的问题还真没有遇到过.

解决方案 »

  1.   

        我最多用过6K个客户端连接;刚开始用的是一个端口对一个端口的客户端,数量超过1k后就掉线率剧升,后来改用单端口多连接的方式,这样6K就都跑起来了。
        不过随着客户端连接的增加,明显感觉服务器的运行速度慢下来了,服务器从最初了dell破电脑,后来都要用普通的服务器了;但是按照这个方式,再扩容的话应该也能支撑起来;如果采用专用服务器,支撑上万的应该没问题的吧。
        我看网游扩容升级服务器的时候总是提到采用多个服务器级联的方式,但是不知道服务器之间怎么个级联方式;
        我也想了解下。
      

  2.   

    楼上的sgchen2000大虾说的意思,是不是要通过服务器间的Socket通讯来实现呢,能不能说的再具体些呢,先谢啦
      

  3.   

    要看服务器要共享什么样的数据给客户端了,有一种方式可以解决这样的问题,比如说:建立一个负载平衡器,所有客户端首先连接到这台负载平衡器上,由负载平衡器负责分配一个通信地址给客户端,客户端连接这个指定的通信地址(这是用来处理大连接数问题),然后当客户端连接上服务器以后,客户端将数据发送到服务器上,服务器将数据放置到一个数据传送服务器上(transfer server),transfer server将执行数据的“和谐”等工作,然后,服务器取出客户端需要的数据以后会送客户(因为实际数据都在 transfer server 上,所以,不存在着服务器间数据共享的问题),另外,session 转移到另外一台服务器上的办法也是有的,比如常用的“序列化”,将客户端A在服务器S1上的数据序列化以后传送给S2,由S2反序列化以后即可允许客户端A转移到S2上运行
      

  4.   

    谢谢楼上的大虾了,如果按照上面的方式进行的话,在客户端访问非常频繁的情况下,那台数据传送服务器(transfer server)要反复的被读取写入,会不会成为整个系统的一个瓶颈呢,如果成为瓶颈该如何解决呢?