Windows本机进程间TCP通信,有什么限制??

CCDDzclxy 2020-09-23 04:32:54
如题。

举个例子:进程A,是TCP server。进程B/C/D/E/F/... 连上 进程A的TCPserver,然后 进程A给 进程B/C/D/E/F/... 推送各种消息(文字、二进制、图片数据等)。进程B/C/D/E/F 也会给 进程A 发送 文字、二进制、图片数据等。

就上面的这种情况,请问下:本机的TCP通信 它对数据量有什么限制吗? 要不要考虑网络通讯中类似带宽的问题? 还是说 本机的进程间TCP通讯 带宽是无限大的??

还有没有别的一些什么限制??












...全文
584 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
QQ1289671197 2021-07-19
  • 打赏
  • 举报
回复

本机进程通信,最好用共亨内存。效率比网络通信好。

牧童吃五谷 2020-11-03
  • 打赏
  • 举报
回复
1.TCP通讯的速率操作系统已经管好了,其会尽量快的,一般来讲不要用户关心,除非你自己想限制速率。 2.采用TCP通讯要想实现你的需求,其实相当复杂的,要实现异步通讯变同步通讯、多线程任务并发处理、TCP重连机制和网络断开检测等,整个程序有点难度,也可以考虑采用DCOM协议
an_bachelor 2020-09-25
  • 打赏
  • 举报
回复
引用 4 楼 CCDDzclxy 的回复:
[quote=引用 1 楼 陈仲甫 的回复:]没听说有特别的限制
但就算是PCIE总线 速度也不可能无限 具体是否满足你的速率要求 可以写个简单的TCP程序 用回环地址通信 一收一发来验证


速率上限 有没有大概的 范围或者概念? 或者受 什么因素的影响之类的?比如 CPU处理速度 之类的。[/quote]我估计 跟CPU速度没太大关系 因为它速度快 瓶颈应该在内存、总线这边 我这边G4560 intel B250 8G*2 DDR2400 每个块4k 读写速度大概300M/s
CCDDzclxy 2020-09-25
  • 打赏
  • 举报
回复
引用 8 楼 rongewu2013 的回复:
端口号不能重复
这... 各位大佬,有没有 类似带宽限制 或者 别的限制之类的 一些见解??
CCDDzclxy 2020-09-25
  • 打赏
  • 举报
回复
引用 11 楼 zgl7903 的回复:
个人感觉: 单机进程间用文件方式传递数据, 进程间的耦合度可以很低, 用内存做虚拟磁盘,可以极大的提高性能 至于本机内地socket , 带宽应该不会是瓶颈
OKOK
CCDDzclxy 2020-09-25
  • 打赏
  • 举报
回复
引用 10 楼 陈仲甫 的回复:
我估计 跟CPU速度没太大关系 因为它速度快 瓶颈应该在内存、总线这边 我这边G4560 intel B250 8G*2 DDR2400 每个块4k 读写速度大概300M/s
好的谢谢
zgl7903 2020-09-25
  • 打赏
  • 举报
回复 1
个人感觉: 单机进程间用文件方式传递数据, 进程间的耦合度可以很低, 用内存做虚拟磁盘,可以极大的提高性能 至于本机内地socket , 带宽应该不会是瓶颈
an_bachelor 2020-09-24
  • 打赏
  • 举报
回复
没听说有特别的限制
但就算是PCIE总线 速度也不可能无限 具体是否满足你的速率要求 可以写个简单的TCP程序 用回环地址通信 一收一发来验证
CCDDzclxy 2020-09-24
  • 打赏
  • 举报
回复
引用 2 楼 赵4老师 的回复:
任何收发两端速度不一致的通讯,都需要在它们之间使用一个足够大的FIFO缓冲区。 对任何FIFO缓冲区的使用,都需要仔细考虑接收端接收时超时无数据和发送端发送时FIFO缓冲区已满这两种情况下该如何做。
赵老师的这个 应该算是 编程时候的建议和注意点了吧。
CCDDzclxy 2020-09-24
  • 打赏
  • 举报
回复
引用 1 楼 陈仲甫 的回复:
没听说有特别的限制 但就算是PCIE总线 速度也不可能无限 具体是否满足你的速率要求 可以写个简单的TCP程序 用回环地址通信 一收一发来验证
速率上限 有没有大概的 范围或者概念? 或者受 什么因素的影响之类的?比如 CPU处理速度 之类的。
CCDDzclxy 2020-09-24
  • 打赏
  • 举报
回复
怎么看不到最新的回复?刚开始只有一个回复,怎么刷都看不到回复。现在有2个回复了,但是只能看到1楼的,看不到2楼的...
赵4老师 2020-09-24
  • 打赏
  • 举报
回复
任何收发两端速度不一致的通讯,都需要在它们之间使用一个足够大的FIFO缓冲区。 对任何FIFO缓冲区的使用,都需要仔细考虑接收端接收时超时无数据和发送端发送时FIFO缓冲区已满这两种情况下该如何做。
rongewu2013 2020-09-24
  • 打赏
  • 举报
回复
端口号不能重复
CCDDzclxy 2020-09-24
  • 打赏
  • 举报
回复
引用 6 楼 赵4老师 的回复:
[quote=引用 5 楼 CCDDzclxy 的回复:][quote=引用 2 楼 赵4老师 的回复:]任何收发两端速度不一致的通讯,都需要在它们之间使用一个足够大的FIFO缓冲区。 对任何FIFO缓冲区的使用,都需要仔细考虑接收端接收时超时无数据和发送端发送时FIFO缓冲区已满这两种情况下该如何做。
赵老师的这个 应该算是 编程时候的建议和注意点了吧。[/quote] 意思就是接收端不及时recv,带宽再宽,发送端send再快再多也没用。[/quote] 这个肯定注意的,接收归接收,处理数据归处理数据。 对于本机的TCP通讯,类似带宽限制 或者 别的限制之类的,赵老师有何见解?望指教啊
赵4老师 2020-09-24
  • 打赏
  • 举报
回复
引用 5 楼 CCDDzclxy 的回复:
[quote=引用 2 楼 赵4老师 的回复:]任何收发两端速度不一致的通讯,都需要在它们之间使用一个足够大的FIFO缓冲区。 对任何FIFO缓冲区的使用,都需要仔细考虑接收端接收时超时无数据和发送端发送时FIFO缓冲区已满这两种情况下该如何做。
赵老师的这个 应该算是 编程时候的建议和注意点了吧。[/quote] 意思就是接收端不及时recv,带宽再宽,发送端send再快再多也没用。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧