IPC:为每个请求连接或保持插座打开
IPC: Connect for each request or keep socket open?
我计划使用套接字(本地TCP)在两个进程(本地运行)之间进行通信。一个进程将充当服务器,但两个进程都异步地相互发送消息。我应该在进程的生命周期内保持套接字连接打开,还是为每个请求重新连接?
如果我保持本地套接字打开,是否会出现任何问题?
保持套接字打开
这是一个更简单的选项,并且您不需要(从客户端的角度)打开一个新套接字或(从服务器的角度)接受一个新客户端的开销。
如果它只是一个客户端,那么您应该保持套接字打开,但要准备好在出现错误时重新连接(例如,用户可能已经重置了网络接口,因此不能保证连接是活动的)。如果您有许多客户端,请在非活动超时一定时间后使用断开连接。这将使您摆脱非活动、挂起或"丢失"的客户端(那些已经过去但没有关闭套接字的信号的客户端)。
相关文章:
- 当套接字连接断开时检测C/C++Unix
- 无法在windows上使用mingw将sqlite3与c连接
- 到连接组件算法的问题(递归)
- QTcpSocket在不阻塞GUI的情况下重新连接到服务器
- 无法在C++中建立与MySQL数据库的连接
- PC中的程序和PHONE中的本机描述应用程序之间的数据连接
- 在Qt Creator中,如何在连接到正在运行的进程后查看控制台输出
- 连接 dockerized 模型和 dockerized 数据库时出现"无法 SQLConnect"错误
- ZMQ:连接 ZMQ 插座时"Resource temporarily unavailable"
- 如何通过1024字节缓冲区和强力冲洗在插座连接上发送6个字符的C弦
- 将C/C 线连接到插座
- 返回打开的插座连接/留下套接字连接打开C
- QT蓝牙无法将插座连接到设备
- 单流TCP插座将用于入站和出站连接
- C /参考操作员和指针中的插座连接()函数说明
- C++ 我可以在没有计时器的情况下制作 boost::asio 连接插座吗?
- 升压 ASIO 插座在停止后无法连接
- IPC:为每个请求连接或保持插座打开
- Winsock;在重新连接之前,我需要关闭插座吗
- 连接插座的限制提升::asio