0
我正在开发基于套接字的web服务(套接字客户端)和外部服务器之间的通信。由于webservices是多线程的(服务器为每个服务请求创建一个线程),每个线程应该在外部服务器上打开一个新的套接字(在给定的端口上),还是应该在Web服务线程之间同步和共享套接字客户端。 我在这里感到困惑。打开的客户端Socket(java.net.Socket的对象)是一个昂贵的对象,如JDBC Connection,或者它可以(应该)由每个线程打开并在完成时由线程关闭。基于Webservice的套接字客户端
请帮
感谢
在所有线程共享相同套接字的情况下,我可以使用blockQueues。由于线程可以产生请求并消费响应,我可以让singleton组件说“Soketer”持有套接字并且有两个BlockQueue(传入和传出)。传出队列上的任何消息都写入套接字,并且来自套接字的任何消息都会发送到传入队列。所有线程都有对Sockert对象的引用。 – amique