问题标签 [unix-socket]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1350 浏览

android - Android:替代 TCP 环回套接字连接以获得更好的性能

使用Android NDK(2.3及以上)开发网络库

场景

  1. 第三方应用程序(基于 TCP 套接字)与我们的本地库进行通信。
  2. 我们的库处理这些数据,然后使用 TCP 套接字通信与服务器进行通信。通信是双向的。

我们设计并实现了第三方应用程序和我们的 IPC 库之间的套接字通信机制。our-library 正在利用第三方应用程序端口(默认值:6700)来建立服​​务器之间的连接。

因此,它是一种环回连接,通过它我们的库和第三方应用程序之间发生通信。

问题领域

一切正常,但由于它,性能被降级。如果没有网络库,则通信非常快。为了验证问题出在环回 tcp 套接字上,我们删除了库的所有内部处理。该库仅充当应用程序的伪服务器(传递)。应用程序将数据发送到 localhost 和套接字,而库只是将其按原样转发到服务器。

> 查询

那么有什么方法可以提高性能吗?

1)Android上的UNIX域套接字怎么样,它们可以在应用程序和我们的库之间使用吗?

2)Binders 可以用来在用户级应用程序和原生 Android 库之间进行通信吗?

3) 或者我们是否有类似于 IOCTL SIO_LOOPBACK_FASTPATH 的东西(TCP 环回快速路径由应用于发送和接收套接字的套接字 IOCTL SIO_LOOPBACK_FASTPATH 启用。)传输控制协议 (TCP) 环回优化

提前谢谢了

0 投票
1 回答
660 浏览

sockets - TCP 和 Unix 域套接字的性能如何随着进程数量和有效负载大小而扩展?

假设我和一些工人在同一台机器上拥有一台服务器,每个工人都在与它交谈。他们可能正在通过 TCP 或 Unix 域套接字进行通信。性能如何随工人数量和消息大小而变化?

当我谈到性能时,我不仅要寻找平均延迟,还要寻找 p90 和 p99 延迟。

0 投票
2 回答
11983 浏览

android - Android NDK 中与 Unix 域的 LocalSocket 通信

我有 Android 应用程序,它需要与我们的 C++ 库建立 unix 域套接字连接(使用 Android NDK)

java中有LocalSocket接受“字符串”(your.local.socket.address)

但是本机层的unix域套接字接受“绝对路径”。那么这两方如何相互沟通呢?

如果可能,请分享任何示例

0 投票
1 回答
3720 浏览

python - 无法使用 Python 连接 Unix 域套接字:没有这样的文件或目录

我有几段代码来建立一个 Unix 域套接字和使用这个套接字的服务。虽然这里有一些令人困惑的错误导致失败。

创建 Unix 域套接字的代码是用 c 编写的:

使用此 sock 的客户端 Python 如下(unixclient.py):

我通过导入这个文件并调用函数在另一个 Python 代码中触发这段客户端代码call:(“/jail/zoobar/echosvc”和“/jail/zoobar/echosvc/sock”都将失败)

那里发生错误,表明:

但是我发誓该目录和套接字确实存在(/jail/zoobar/echosvc/sock),并且权限也是正确的(777),所以我无法理解这个奇怪的错误。有人知道吗?

我非常感谢您抽出时间提供帮助。

0 投票
1 回答
15610 浏览

http - AF_UNIX 上的 HTTP:到 unix 套接字的 HTTP 连接

我们有 HTTP 服务器,我们有基于 HTTP 客户端的应用程序(在 Linux 上)工作正常。

但是现在我们需要从我们的客户端应用程序监听 Unix 域套接字。那么是否可以从 unix 域套接字发送/接收 httprequest、httpresponse 数据包?

场景1:连接本地主机时,需要通过将HTTP连接到unix套接字而不是HTTPS连接到本地端口来消除SSL开销。

基本上在 HTTP URL 中寻找标准编码 unix 套接字路径。

提前谢谢了。

0 投票
4 回答
1464 浏览

php - socket_select 立即返回 false 但没有错误代码

我正在玩socket_select,但在一个主机上,这个函数会做一些奇怪的事情:

  • 立即返回,而不是等待 5 秒
  • 返回false,表示有错误
  • socket_last_error()返回 0(成功)。

phpinfo()此服务器的:http: //jsfiddle.net/Lmrfe/embedded/result/

这里发生了什么?

更新的测试脚本:仍然在瞬间运行:

0 投票
2 回答
1816 浏览

c - 在新终端中执行子进程

我想为 unix 制作一个简单的聊天应用程序。我创建了一台支持多个客户端的服务器。每当有新客户端连接到服务器时,就会使用 fork 命令创建一个新进程。现在的问题是所有子进程在服务器上共享相同的标准输入,因此为了向第二个客户发送消息,第一个子进程必须终止。为了解决这个问题,我想在新终端中运行每个子进程。这可以通过在新文件中编写子进程代码的代码并像 xterm -e sh -c 一样执行它来实现。(虽然我没有尝试过)。

我真正想要的不是有两个文件只是为了启动一个新终端并运行其中的其余代码。

0 投票
1 回答
9065 浏览

sockets - Unix 域套接字的原理。它是如何工作的?

我正在研究 Unix 域套接字。特别是关于它是如何工作的。我用很多关键字搜索了很多次,但结果都是关于 API、系统调用、如何使用它、示例...... 我也读过管道和 FIFO,因为据说 Unix 域套接字与管道和 FIFO 相同,但我仍然想了解更多关于 Unix 域套接字的概念/原则。它是如何工作的?(也许在内核级别,因为 Wiki 这么说:“这允许两个进程打开同一个套接字以进行通信。但是,通信完全发生在操作系统内核中。”

我还是想知道为什么 Unix 域的 Socket 纪录片比 Pipe 或 FIFO 少?也许是因为它是多年前出生的?

谁能告诉我任何想法或阅读哪些书籍/链接?

提前致谢!

0 投票
4 回答
88129 浏览

sockets - TCP 环回连接与 Unix 域套接字性能

处理基于 Android 和 iOS 的应用程序,需要与在同一设备中运行的服务器进行通信。目前使用 TCP 环回连接与 App 和服务器通信(App 编写在用户层,服务器使用 Android NDK 用 C++ 编写)

我想知道用 Unix 域套接字替换内部通信是否会提高性能?

或者一般来说,是否有任何证据/理论证明 Unix 域套接字会比 TCP 环回连接提供更好的性能?

0 投票
2 回答
685 浏览

c++ - 在fork c ++中关闭套接字

我正在尝试套接字编程和服务器代码:

这段代码给了我一个错误的文件描述符,但是当我评论关闭(sockfd)时,代码运行良好。由于我正在分叉到一个新的子进程并关闭侦听端口,为什么我得到一个错误的文件描述符?有什么我在这里想念的吗。