C++ 使用节俭或协议缓冲区的双向通信

C++ 使用节俭或协议缓冲区的双向通信,c++,node.js,protocols,thrift,buffer,C++,Node.js,Protocols,Thrift,Buffer,(对不起我的英语) 可以构建一个应用程序(实际上是2个)来实现进程之间的双向通信 我知道有两个“框架”可以用不同的语言传达不同的过程,即节约和协议缓冲区 我知道thrift是在客户机/服务器模式下工作的,所以如果我想要双向通信,我需要构建双方/流程,就像客户机和服务器一样 客户端/服务器客户端/服务器 我不知道这种方法是否正确 但是。。我无法使用协议缓冲区找到有关此的信息。这可能吗 我有一个C++进程和一个No.js(JavaScript)应用程序。C++程序向de Node.js应用程序发送通

(对不起我的英语)

可以构建一个应用程序(实际上是2个)来实现进程之间的双向通信

我知道有两个“框架”可以用不同的语言传达不同的过程,即节约和协议缓冲区

我知道thrift是在客户机/服务器模式下工作的,所以如果我想要双向通信,我需要构建双方/流程,就像客户机和服务器一样

客户端/服务器客户端/服务器

我不知道这种方法是否正确

但是。。我无法使用协议缓冲区找到有关此的信息。这可能吗

我有一个C++进程和一个No.js(JavaScript)应用程序。C++程序向de Node.js应用程序发送通知(这很好,我用节省测试)p> 在另一端,用户与Node.js应用程序交互。。在某些情况下,No.js应用程序需要通知DC++进程。所以我需要双向沟通

有什么想法吗


提前感谢

这篇文章有一些节约的选择-

msdark的问题实际上是关于双向事件信令,而不仅仅是双向数据传输。数据可以使用Thrift或ProtoBufs在两个方向上传输。基本上,任何IPC都必须以两种方式传输数据——RPC调用和返回值。异步客户端到服务器事件信令是使用RPC内置的,但异步服务器到客户端需要更多的工作。在这方面已经有了工作。这些书都读得很好


等等。

在面向传输的网络的最低级别上,您总是有一个客户机和一个服务器,因为服务器是侦听()和接受()的服务器,而客户机是连接()的服务器,但在这之后,通信中就没有进一步的不对称。如果两个进程都位于同一台机器上,则可以使用管道。显然,在较低级别上,我们总是有一个客户机/服务器。。但在高级实现中,想法是只查看或使用一个通道。。。我试着做到这一点……好吧,一旦你们建立了联系,画面就相当对称了。双方可以平等地发送和接收。@Kerrek SB:严格来说,这不是真的。两个程序可以同时调用
bind
,然后每次调用
connect
。这导致了创建TCP连接的同步SYN交换方法。@Omnifarious:非常有趣。为什么不把它作为一个答案呢?这是可行的办法吗?