Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 什么样的策略更有效:创建一个新的套接字还是使用一个已经创建的套接字?_Java_Performance_Sockets_Client Server - Fatal编程技术网

Java 什么样的策略更有效:创建一个新的套接字还是使用一个已经创建的套接字?

Java 什么样的策略更有效:创建一个新的套接字还是使用一个已经创建的套接字?,java,performance,sockets,client-server,Java,Performance,Sockets,Client Server,我正在开发一个Java客户机-服务器程序。我用一个插座连接,但我不确定效率。所以,这是我的问题: 每次我需要与服务器建立连接时,创建新套接字还是使用为以前的连接创建的套接字更有效 我想我需要一种方法来验证客户端是否已经连接。在性能方面,重新使用以前创建的套接字更有效。但这并不一定是最好的解决方案,这取决于每种情况 习惯用法是在服务器端有一个ServerSocket,每当新客户端连接到它时,它都会返回一个Socket。如果需要多个客户端对服务器工作,则可以创建一个线程,以将返回的套接字处理给每个传

我正在开发一个Java客户机-服务器程序。我用一个插座连接,但我不确定效率。所以,这是我的问题: 每次我需要与服务器建立连接时,创建新套接字还是使用为以前的连接创建的套接字更有效


我想我需要一种方法来验证客户端是否已经连接。

在性能方面,重新使用以前创建的套接字更有效。但这并不一定是最好的解决方案,这取决于每种情况

习惯用法是在服务器端有一个
ServerSocket
,每当新客户端连接到它时,它都会返回一个
Socket
。如果需要多个客户端对服务器工作,则可以创建一个
线程
,以将返回的
套接字
处理给每个传递它的客户端

此外,您不需要方法来验证是否已经连接了客户端,
ServerSocket
每次都会返回一个新的
Socket


请在中阅读有关此主题的更多信息。

在我看来,这在很大程度上取决于连接的重复使用。。可能有时间限制来确定重复使用还是新建?服务器操作总是一样的,有时需要更多的时间来详细说明结果,但仅此而已。所以,客户机发送输入信息,服务器将输出结果返回给客户机。之后,客户端用户应该决定是再次执行相同的操作还是关闭程序。我已经在服务器中使用了线程,但我需要一种方法来验证客户端上的套接字,以防我决定保持打开连接。也许我的描述不准确,对不起。如果你没有得到任何异常,你的插座是打开的。这就是全部。