本帖最后由 diaodiaop 于 2013-10-11 15:39:23 编辑

解决方案 »

  1.   

    如果你像做大规模的服务器架构。那么单纯的性能优化没有意义,你首先考虑的是可伸缩性,也就是你的架构能否通过部署很多台服务器而近乎线性地增加吞吐量。基于这种架构的复杂性考虑,没有必要一开始着眼于Socket这样细节的东西,你首先应该规划你的分布式架构,并且用wcf这样高层次的东西验证你的原型。
      

  2.   

    100W的客户端,并发估计最少在10W左右.这时首先考虑的就是不能只有一台通讯服务器,因为一般的服务器没法支撑这么大的连接量,即使是短连接也不行。所以你的前置通讯服务器需要有好多台。
    你需要的是一个合理的业务框架,至于Socket什么的那都是最后开发的细节了,现在你根本就不需要考虑这些。
      

  3.   

    我认为用C#的Socket是个不错的选择,肯定不会比别的差。
    客户端很多就要考虑上多少服务器的问题,
    或者说一台服务器可以带多少客户端,
    这要看客户端通信时的数据量和频度了。
      

  4.   

    最好不要使用WCF,否则将可能付出50倍以下的CPU代价。
    如果你愿意试试fastCSharp,可以在QQ群或者QQ里与我交流。
      

  5.   

    我了解 socket 是网络通讯的基本.
    我想得考虑是硬件主动发到服务器,还是服务器去请求.
    既然有100W的硬件设备,考虑是使用"中继设备",1台"中继设备"负责N台硬件终端.
    可以分多级中继设备,最后服务器和最高那一级的中继设备通讯,这样成本就小多了.
    "中继设备"可以使用 Linux 开发板来解决了,但需要的技术是使用c或c++来写通讯模块了.
      

  6.   

    还有一个问题  就是硬件写入的IP都是一样的 假设都连接  XX.XX.OO.OO:8009如果是多台服务器 也可以把这个XXOOXXOO作为类似中转的东西? 转到别的服务器上么?