Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.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
Networking 数据丢失两台机器之间的安全通信_Networking_Inter Process Communicat - Fatal编程技术网

Networking 数据丢失两台机器之间的安全通信

Networking 数据丢失两台机器之间的安全通信,networking,inter-process-communicat,Networking,Inter Process Communicat,我有两个应用程序在两台单独的(windows)机器上运行。我需要两个应用程序之间的健壮通信解决方案,该解决方案可以容忍短通信通道断开(例如重新启动接收器应用程序),而不会丢失数据。我能想到的显而易见的解决方案是: 建立连接时通过TCP套接字进行通信,断开连接时缓冲内存或文件 通过其中一台计算机上的文件进行通信,并使用文件传输协议(如smb)从另一台计算机进行访问。使用文件指示文件读/写位置 还有其他选择吗?它们的优点/缺点是什么?是否有任何现有的C/C++库实现了一个解决方案?当然,您的首选

我有两个应用程序在两台单独的(windows)机器上运行。我需要两个应用程序之间的健壮通信解决方案,该解决方案可以容忍短通信通道断开(例如重新启动接收器应用程序),而不会丢失数据。我能想到的显而易见的解决方案是:

  • 建立连接时通过TCP套接字进行通信,断开连接时缓冲内存或文件
  • 通过其中一台计算机上的文件进行通信,并使用文件传输协议(如smb)从另一台计算机进行访问。使用文件指示文件读/写位置

还有其他选择吗?它们的优点/缺点是什么?是否有任何现有的C/C++库实现了一个解决方案?

当然,您的首选应该是TCP。因为TCP将保证应用程序所看到的发送内容都会被接收。一般来说,任何面向连接的协议都可以,TCP显然是最好的选择

在您的第二个选项中,似乎有很多活动部分(例如,发送文件-收到一些通知给应用程序新文件,或者应用程序轮询文件更改,然后读取该文件等),其中一个出错的可能性不大。我不确定SMB使用的是什么-但是如果SMB使用TCP,您不觉得使用TCP更好吗。因此,使用SMB的文件肯定不是首选选项。国际海事组织