可能重复:在每个事务后我应该关闭一个套接字(TCPIP)吗? 假设我有一些使用套接字进行进程间通信的方式。我的进程应该建立连接并保持它保持打开状态(每个客户端一个线程或类似)在需要发送数据时发送;还是建立连接、发送我想要的数据、关闭连接并再次进入等待状态更好?通常如何解决这个问题?
任何资源,无论是文件、套接字、数据库连接还是硬件设备,都需要时间并且使用处理器和内存来打开,因为它们必须获取资源、计算安全访问并进行一些簿记工作。在每个消息之间打开和关闭将浪费 CPU 和内存资源。长时间保持打开也很危险,但您必须保持打开状态,并决定最佳超时值,在任何一端已经失效时自动关闭它。