SCOCKET连接问题,请问在客户端连接比较多的时候怎么处理比较好!多线程怎么处理呢?
用SERVER SCOCKET 和CLINTSCOCKET ?

解决方案 »

  1.   

    用SERVER SCOCKET 和CLINTSCOCKET.
    有无阻塞和阻塞两种模式.
    无阻塞一般用于接收消息,比如聊天,服务器上处理所有的消息都在一个线程内进行.客户端会有一个线程监听消息.缺点是可能会得到意想不到的结果,因为当客户端发送消息后,不管服务器有没有返回数据,客户端会立即执行以后的代码,可能会有异常.
    阻塞一搬用于传输大量的数据,比如SQL查询,SOAP,阻塞有一特点就是一般都是客户端主动向服务器请求数据,服务器不会主动把数据发给客户端,因为客户端没有线程监听消息(需自己写).当客户端与服务器连接时会为每客户端建立单独的线程.缺点是界面会经常冻住,因为客户端发送消息后,
    如果服务器有数据返回的话一定要等到数据返回,否则以后的代码不会执行,而是抛出异常.还有就是数据传输完后应与服务器断开连接,这样线程也就结束了.这点也是与无阻塞的不同之处,无阻塞可以一直保持与服务器的连接.