IPC:为每个请求连接或保持套接字打开?

我打算使用套接字(本地TCP)在两个进程(本地运行)之间进行通信。 一个进程将充当服务器,但两个进程都异步地向彼此发送消息。 我应该在进程的生命周期内保持套接字连接打开,还是为每个请求重新连接?

如果我保持本地套接字打开可能会出现任何问题吗?

保持sockets打开。

它是更简单的选项,您不会产生打开新套接字(从客户端的角度)或接受新客户端(从服务器的角度来看)的开销。

如果它只是一个客户端,那么你应该保持套接字打开但是准备好在出现错误时重新连接(例如,用户可能已经重置了网络接口,因此不能保证连接存在)。 如果您有许多客户端,请在一定时间的非活动超时后使用断开连接。 这将让你摆脱不活动,挂起或“丢失”(那些已经过世但没有关于套接字关闭形成它们的信号)客户端。