sockets - Socket 和 RPC 有什么区别?

标签 sockets operating-system ipc rpc

Socket 和 RPC(远程过程调用)之间的实际区别是什么?

据我了解,两者的工作都是基于 Client–server model .还有哪一个应该在什么条件下使用?

PS:阅读时会出现困惑Operating System Concepts by Galvin

最佳答案

简短的回答:

RPC 是协议(protocol)。套接字提供对传输的访问以实现该协议(protocol)。

RPC 是操作系统提供的服务和协议(protocol),允许远程应用程序触发代码运行。它具有定义的协议(protocol),通过该协议(protocol),其他设备可以通过网络访问过程或对象。 RPC 的实现基本上可以通过任何网络传输(例如 TCP、UDP、带有字符串的杯子)来完成。

套接字只是一种编程抽象,因此应用程序可以通过特定的网络传输与另一个设备发送和接收数据。您在带有套接字的传输(例如 TCP)之上实现协议(protocol)(例如 RPC)。

关于sockets - Socket 和 RPC 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46128598/

相关文章:

operating-system - 当你运行一个程序时,什么实际上被加载到 RAM 中?

ruby - Ruby 中的进程间信号处理

python - 客户端脚本在UDP套接字上停止时获取ConnectionResetError

linux - 在准确的时间设置 Cronjobs

c# - 在 UDP 服务器中接收数据包时连接重置

c++ - 自旋锁与信号量

c++ - boost::interprocess message_queue 性能 - 相当慢?

javascript - 如何将 Promise 'then' 的值发送到 'catch' ?

java - 如何终止由于Socket.accept()而被阻塞太长时间的线程?

java - 我需要有关成功连接到带有 galaxy s3 的 zephyr HXM 蓝牙设备的建议