套接字通信是否是进程间通信的可靠协议?

时间:2011-10-05 13:42:41

标签: .net sockets inter-process-communicat

我正在设计一种通信协议,用于使用套接字连接在两个PC应用程序之间进行通信。最常见的情况是两个应用程序在同一台机器上工作,但是可以在远程机器上运行一个应用程序。 应用程序可以交换高达2Mb / s的数据。 问题是:我是否应该使用确认数据包来确保一个应用程序发送的数据包被另一个应用程序接收?我知道套接字使用TCP连接,因此确认/重传已经实现,但我需要一些在实践中使用它的人的反馈。

使用的技术: - 套接字服务器:使用以下库的.NET应用程序:http://www.codeproject.com/KB/IP/AsyncSocketServerandClien.aspx - 套接字客户端:.NET或Delphi应用程序

1 个答案:

答案 0 :(得分:4)

这很好,流量在TCP / IP驱动程序堆栈中短路。与任何其他IPC机制没有太大区别,它只需要内存到内存的复制,因此以总线速度运行。典型值为5千兆字节/秒,开销时间为微秒左右。无论上下文切换需要发生什么,到目前为止成本最高。命名管道将运行相同。当你需要通过NIC时,这当然会从悬崖上掉下来。