现在有很多机器设备需要连接到一台服务器,已经对外开放基于tcp的rpc回调接口(这个接口对方提供无法修改),大约几十到最多两百多台,要不断(间隔30s或更短)发送请求获取实时数据。我现在直接用基于线程池的socket连接,时间一长会出现断连无法再重连和服务器死机情况。请问现在socket客户端有没有成熟的框架(Netty?)支持该需求?我之前也看了下消息队列rabbitmq,好像都需要tcp接口端要编程接入队列,好像也不能实现我这需求。求高手解答下

解决方案 »

  1.   

    短连接不是更耗资源吗?在windows server16上跑的
      

  2.   

    netty里长连接就可以实现啊 建消息队列读写数据
      

  3.   

    这个连接数量,使用socket连接池处理足够,netty可以做,效果也很好,都是解决C1M(一百万连接)级的问题。
    你问题有两个:
    1 超时连接的处理,你的连接规则是什么,怎么断开的?
    2 死机的时候,tcp连接数是多少?你可以用netstat 检查服务器的tcp数量,状态
    目前状况,可以试试单独加一个守护线程,定时关闭服务器的超时连接
      

  4.   

    Netty肯定没问题的,但断连不能重连难道不是人家服务的问题?