套接字与管道的性能

2023-11-24

我有一个 Java 程序,它使用本地主机上的套接字与 C++ 程序进行通信。通过转而使用本机操作系统管道,我是否可以期望获得任何性能(延迟、带宽或两者兼而有之)?目前我主要对 Windows 感兴趣,但也欢迎任何与 Unix/Linux/OSX 相关的见解。

编辑:澄清:两个程序在同一主机上运行,​​当前通过套接字进行通信,即通过与 localhost: 建立 TCP/IP 连接。我的问题是切换到使用(本地)命名管道(Windows)或其 Unix 等效项(AF_UNIX 域套接字?)的潜在性能优势是什么。


肯是对的。命名管道在 Windows 上肯定更快。在 UNIX 和 Linux 上,您需要 UDS 或本地管道。一样的东西,不同的名字。

对于本地通信来说,除了套接字之外的任何东西都会更快。这包括内存映射文件、本地管道、共享内存、COM 等。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

套接字与管道的性能 的相关文章

  • C中的pipe()和fork()

    我需要创建两个子进程 一个子进程需要运行命令 ls al 并将其输出重定向到下一个子进程的输入 而下一个子进程又将对其输入数据运行命令 sort r n k 5 最后 父进程需要读取该数据 已排序的数据 并将其显示在终端中 终端中的最终结果
  • 如何使用C从http下载文件?

    最近几天我试图弄清楚如何从 URL 下载文件 这是我对套接字的第一个挑战 我用它来了解协议 所以我想在没有 cURL 库的情况下只用 C 语言来完成它 我搜索了很多 现在我可以打印页面的源代码 但我认为这与文件不同 我不必只将接收到的数据从
  • 创建 ip 网络数据包 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我必须使用任何协议手动创建自己的网络
  • net.Socket.writable、net.Socket.readable 属性不是官方 Node.js API 的一部分

    我想知道为什么 net Socket writable 和 net Socket read 属性不是官方 Node js API 的一部分 这是否意味着最好不要使用这些属性 因为它是将来可能会改变的内部内容 它们是 但不是你正在寻找的地方
  • 使用 EOF 在未命名管道上发出信号

    我有一个测试程序 它使用使用 pipeline 创建的无名管道在 Linux 系统上使用 fork 创建的父进程和子进程之间进行通信 通常 当发送进程关闭管道的 write fd 时 接收进程从 read 返回值为 0 表示 EOF 然而
  • SO_BINDTODEVICE Linux 套接字选项的问题

    我有一台带有两个网卡的电脑 一 eth0 用于 LAN 互联网 另一个用于与一个微控制器设备进行 UDP 通信 微控制器有一个 IP 192 168 7 2 和一个 MAC 地址 第二个电脑网络适配器 eth1 有 192 168 7 1
  • 如何同时正确使用管道和信号?

    我有 2 个孩子 我想将信号从孩子发送到父母 并将答案 随机数 为什么 为什么不 命名管道从父母发送到每个孩子 我有这个代码 include
  • Discord-py Rewrite - Cog 中的基本 aiohttp Web 服务器

    我正在尝试将基本的 aiohttp 网络服务器集成到 Cog 中 使用 discord py 重写 我对齿轮使用以下代码 from aiohttp import web import discord from discord ext imp
  • 命名管道端口号

    命名管道是否使用端口进行通信 我使用的命名管道 http msdn microsoft com en us library aa365150 28VS 85 29 aspx http msdn microsoft com en us lib
  • C# CreatePipe() -> 受保护的内存错误

    我尝试使用 C 创建管道 代码非常简单 但是当行与CreatePipe 调用被执行我得到一个System AccessViolationException并出现以下错误消息 尝试读取或写入受保护的内存 这通常表明其他内存已损坏 这是我的表单
  • 如何从没有结尾的管道中读取 python 中的 stdin

    当管道来自 打开 时 不知道正确的名称 我无法从 python 中的标准输入或管道读取数据 文件 我有作为例子管道测试 py import sys import time k 0 try for line in sys stdin k k
  • RTSP 设置后接收 RTP 数据包

    我正在尝试使用 Python 从 IP 摄像机流式传输 RTP 数据包 我能够使用 RTSP 协议发送描述 设置和播放命令 但是 我无法开始使用 RTP 传输实际视频流 这是代码 import socket def printrec rec
  • UDP SocketException - 通常只允许每个套接字地址使用一次

    尽管这里有很多非常相似的问题 但提供的答案都没有帮助我 这让我很难过 我有一个非常大的管理系统 我的任务是为其编写一些 UDP 数据包发送 接收 我已经编写了一个原型 一切都很好 所以我开始将我的代码合并到所述系统中 然而 我现在弹出了一个
  • 如何用单线程实现TCP上的全双工通道?

    我正在编写的网络库需要通过 TCP 套接字发送和接收消息 消息可以随时发送或接收 即应该作为全双工通道工作 我能够使用两个线程来实现这样的场景 调用 send 的主线程和一个主要在 receive 调用处阻塞的专用线程 我的问题是 是否可以
  • 如何将 Flutter 应用连接到 tcp 套接字服务器?

    我很难将 Flutter 应用程序连接到服务器上的网络 tcp 套接字 我知道我必须使用某种中间选项 以便在 tcp 套接字到 flutter 以及 Flutter 到 tcp 套接字之间转换数据 任何想法 信息如何实现这一目标 问题是如何
  • 命名管道性能问题

    我使用命名管道进行 C 和 Delphi 之间的过程间通信 C 使用System IO Pipes包 而 Delphi 使用Libby s pipes pas 不幸的是 通信几乎是高性能的 分析显示通信占用了整个运行时间的 72 其余的用于
  • 数据损坏 C++ 和 Python 之间的管道

    我正在编写一些代码 从 Python 获取二进制数据 将其通过管道传输到 C 对数据进行一些处理 在本例中计算互信息度量 然后将结果通过管道传输回 Python 在测试时 我发现如果我发送的数据是一组尺寸小于 1500 X 1500 的 2
  • 如何使用 select 将数据从服务器发送到客户端

    我在一些教程的帮助下想出了一个代码 用于使用选择功能与客户端连接并接受来自客户端的消息 现在我想做的是在服务器需要时将数据发送到特定的客户端 如何做到这一点 提前致谢 服务器代码 include
  • 当可观察值可用时,UI 不会自动更新

    在 angular2 中 我创建了可观察的 uploadProgressStatus 它接受数字 使用异步管道 我想在 UI 上显示数字 并在输入新值时自动更新 请参阅下面的代码 home component ts 正在观察 upload
  • 通知管道右侧左侧故障?

    我越来越喜欢在 shell 脚本中的函数之间使用类似于生成器的模式 像这样的事情 parse commands da cmd file process commands 然而 这种模式的基本问题是 如果 parse command 遇到错误

随机推荐

  • document.getElementById 是否返回实时 dom 元素?

    Does document getElementByIdJavaScript 返回一个实时 DOM 元素 出于性能原因我有兴趣知道 标准和 实时 之间的区别通常用于lists的元素 document getElementById返回对 DO
  • 尝试读取数组上的属性“名称”(查看:C:\xampp\htdocs\Testing\resources\views\product.blade.php)

    我是 Laravel 的初学者 当我将统计表放入 Blade 中时 我收到此警告 尝试读取数组上的属性 名称 查看 C xampp htdocs Testing resources views product blade php 这是控制器
  • Android NFC 读取 ISO15693 RFID 标签

    我正在尝试使用 nfc android 库读取 ISO15693 RFID 标签 以下是有关标签的更多信息 http img42 com gw07d 标签 ID 已正确读取 但标签中的数据未正确读取 onCreate Method init
  • 如何在android中以编程方式应用低音效果

    我正在尝试应用低音效果通过使用以下代码以编程方式 BassBoost bassBoost new BassBoost 0 audioSessionId bassBoost setEnabled true BassBoost Settings
  • Google Android 会支持 .NET 吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 Locked 这个问题及其
  • 编译器会优化重复的数学计算吗?

    Java 编译器是否会优化简单的重复数学运算 例如 if prevX width curX width Do something with prevX width value else Do something with curX widt
  • 有没有办法更改Unity中的gradle.properties文件

    Unity 有一个默认的 gradle properties 文件 该文件在构建过程中添加 虽然可以如上所述更改 build gradle 和 settings gradle 文件 这里https docs unity3d com Manu
  • Java 线程 - 内存一致性错误

    我正在读一本Sun 的并发教程 但我无法理解到底是什么内存一致性错误是 我用谷歌搜索了一下 但没有找到任何有用的教程或文章 我知道这个问题是一个主观问题 因此您可以向我提供有关上述主题的文章的链接 如果您用一个简单的例子来解释它 那就太好了
  • Delphi XE 和 ZLib 问题

    我在 Delphi XE 中 ZLib 例程遇到一些问题 我正在尝试压缩一些字符串 并对它进行编码以通过 SOAP Web 服务发送 并不重要 ZDecompressString 的字符串结果与 ZcompressString 中使用的字符
  • 检测iPhone浏览器中是否显示地址栏

    我正在尝试以面向未来且独立于设备的方式检测 iPhone 浏览器中的地址栏何时显示 这是显示在顶部的工具栏 用于显示 URL 可以通过调用隐藏它 window scrollTo 0 0 我想做的是检测它何时显示 从而减少可用的观看空间 并设
  • 如何“多播”异步迭代?

    Can an async生成器以某种方式广播或多播 以便其所有迭代器 消费者 订阅者 接收所有值 考虑这个例子 const fetchMock gt Example Imagine real fetch async function gen
  • RMarkdown 从 bash 块访问参数

    我创建了一个 RMarkdown 文件file Rmd带参数 我知道如何访问 a 中的参数r chunk但不是来自bash chunk 如果实在没有办法的话 我会通过以下方式将参数写入文件中r chunk然后从bash chunk outp
  • Bootstrap 3 中的 sr-only 是什么?

    什么是班级sr only用于 它重要吗 或者我可以删除它吗 没有的话也能正常工作 这是我的例子 div class btn group div
  • 根据 SSL 证书查看服务器名称

    我在安装 SSL 证书时遇到问题 我认为服务器名称与证书的服务器名称不匹配的问题 这是确切的 Apache 问题 Wed Oct 02 18 33 23 2013 warn RSA server certificate CommonName
  • 有没有更短的方法从字符串中提取日期?

    我编写了代码来从给定字符串中提取日期 给定 gt Date 2012 07 29 12 59AM PDT 它提取 gt 2012 07 29 问题是我的代码看起来又长又难读 我想知道是否有一种更优雅的方式来做到这一点 raw date Da
  • HTML5 表单中的事件在验证输入字段之前引发。

    在验证 HTML5 表单中的字段之前以及提交此表单之前是否会引发任何事件 AFAIK 提交事件是在提交表单之前引发的 但在验证步骤之后 所以这个事件对我来说触发得太晚了 Update 我有一个带有 required 属性的文本区域 如果用户
  • 枚举具有 N 个元素的 1d 数组的所有 k 分区?

    这似乎是一个简单的请求 但谷歌不是我的朋友 因为 分区 在数据库和文件系统空间中获得了很多点击 我需要将 N 个值 N 是常数 的数组的所有分区枚举为 k 个子数组 子数组就是这样的 起始索引和结束索引 原始数组的整体顺序将被保留 例如 当
  • 如何取消winform中的任何事件?

    我想取消该函数范围内的事件 例如 我按下了按钮单击事件 并且在错误验证时 我想取消此事件 同样 我也想取消其他活动 我怎样才能在 C 中做到这一点 这取决于场景 大多数情况下 而不是cancel该事件 什么也不做 例如 private vo
  • jquery中如何检查IP地址的有效性

    我需要在我的项目中添加 IP 验证 jquery 或 jquery mobile 中是否有任何函数 这样它将验证输入字段 Thanks 参考这个文档IP验证 在这里 他使用了 jqueryvalidator js 并通过示例进行了解释 va
  • 套接字与管道的性能

    我有一个 Java 程序 它使用本地主机上的套接字与 C 程序进行通信 通过转而使用本机操作系统管道 我是否可以期望获得任何性能 延迟 带宽或两者兼而有之 目前我主要对 Windows 感兴趣 但也欢迎任何与 Unix Linux OSX