Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.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_Sockets_Client Server_Serversocket - Fatal编程技术网

java客户机-服务器通信中的套接字创建

java客户机-服务器通信中的套接字创建,java,sockets,client-server,serversocket,Java,Sockets,Client Server,Serversocket,在涉及客户端GUI的java socket客户端-服务器程序中,请记住以下几点: 客户机/服务器交互不会持续,这意味着最终用户可能会让GUI保持打开状态,但只会按 按钮/每隔一段时间启动一次请求 服务器将为每个客户端启动一个新线程 所有I/O都将通过ObjectInput/OutputStream进行 因此,基于以上内容,创建连接/套接字的最佳方法是什么: 是否最好为每个客户端启动一个套接字连接,并使其保持活动状态,直到客户端关闭其GUI/会话,并处理同一连接中的所有I/O? 或者每次客户端请求

在涉及客户端GUI的java socket客户端-服务器程序中,请记住以下几点:

客户机/服务器交互不会持续,这意味着最终用户可能会让GUI保持打开状态,但只会按 按钮/每隔一段时间启动一次请求

服务器将为每个客户端启动一个新线程

所有I/O都将通过ObjectInput/OutputStream进行

因此,基于以上内容,创建连接/套接字的最佳方法是什么:

是否最好为每个客户端启动一个套接字连接,并使其保持活动状态,直到客户端关闭其GUI/会话,并处理同一连接中的所有I/O? 或者每次客户端请求某个内容时启动新的套接字连接,并在服务器响应发出后立即关闭它?因此,一个客户端GUI会话可能与服务器有多个连接/断开连接 使用其中一种方法的优点/缺点是什么


非常感谢

对于由用户单击发起的请求,我将使用第二种模式,在该模式中,您可以分别打开和关闭每个用户操作的连接。这将使您不会永远保持多个打开的连接。永远保持连接可能会导致许多资源耗尽类型的问题。如果你没有真正重要的理由保持开放的连接,例如,你需要用一些实时消息(如聊天)回复客户,但可以在请求后直接响应,那么不保持连接会简单得多。如果不需要,最好不要保持空闲连接打开