请问大虾:在用C#开发C/S结构系统的时候用什么方法解决长时间不间断连接(要求可靠性高)通信问题,如果采用中间件来实现,选用哪种中间件更合适??????谢谢,我是新手.

解决方案 »

  1.   

    呵呵 其实楼主自己解决这个问题最好.多有意思啊
    动动脑子.
    假设你的网络环境比较复杂,网络连接不稳定,要作到保证长时间不间断连接,不出现暂时的阻塞,其实就用循环并行短连接最好了.
    比如为每一对连接准备两到三个TCP连接, 每个TCP连接都可以通信,里边传输的数据包要你自己封一下,也可以作验证.
    每个连接一旦BREAK,就自己重新连接,但是一般情况下, 每个连接一旦超过10秒,且暂时空闲,就断掉自己.SLEEP(256)后再次连接.循环使用三个线. 对于服务端来说 也就是开放3个端口就好(多个客户端可以共同使用同一端口)每个连接内部的传输控制代码你还要检测自身的传输状态,一旦出现发送超时或回传变慢,马上切断自己,再去连接.