请问下高手
client和server是建立一次连接永久有效(知道client退出)好呢?还是client端每发送一次与server端连接一次好?两者效率比较?非常感谢希望详细说明……

解决方案 »

  1.   

    看需求,像数据库驱动就是第一种,因为创建socket 很需要时间
      

  2.   

    其实就是socket的通信协议,你要双方都处于长连接就使用TCP模式,要是仅客户端发完就不管那么就使用UDP。
      

  3.   

    i使用短连接的情况举例:
    烟草与银行接口程序:
          烟草的业务有:1单笔查询、2单笔捐款、3查询客户绑定信息
                        4批量捐款、5查询捐款明细
          银行--Socket Server端,烟草--socket Client端,烟草没有必要一直占用着连接,只需要在执行业务的时间发给请求给银行,银行返回结果,socket就可以关闭。
             
    ii使用长连接(永久)的情况举例:
    数据库实时同步程序:
          分布式系统,全国一个主数据库,各省有分数据库,业务操作在各省数据库中进行。全国中心数据库有一个socket server,各省分别是socket client,当任一数据库数据有CURD任意操作,都会触发client向server发送相关同步请求(实时同步)。iii折中办法使用举例:
    pl/sql 、网站用户登陆的session,都在超过指定时限没有操作就自动关闭(超时)同意3楼--根据实际情况选择,必要的时候取折中办法。