问题标签 [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 投票
8 回答
43391 浏览

java - Java的UNIX套接字实现?

我意识到,由于 UNIX 套接字是特定于平台的,因此必须涉及一些非 Java 代码。具体来说,我们有兴趣使用 JDBC 连接到仅启用了 UNIX 域套接字的 MySQL 实例。

它看起来不支持,但从我读过的内容来看,如果我们能找到一个体面的 Java UNIX 套接字实现,那么至少应该可以为基于 UNIX 套接字的 JDBC 编写一个 SocketFactory。

有没有人试过这个?有谁知道这样的实现?

0 投票
3 回答
3716 浏览

mysql - 如何将本地 unix 套接字映射到 inet 套接字?

我很好奇是否可以将 UNIX 套接字映射到 INET 套接字。情况很简单,我想连接到 MySQL 服务器。不幸的是,它禁用了 INET 套接字,因此我只能连接 UNIX 套接字。我正在使用/编写的工具必须连接到 INET 套接字,所以我想看看我是否可以将一个映射到另一个。

进行了大量搜索,但我确实找到了socat,据称它可以满足我的需求。我想知道是否有人对如何实现这一点有任何建议。我一直在使用的命令行(部分成功)是:

现在我可以建立连接并与服务器交谈。不幸的是,任何建立多个连接的尝试都失败了,因为我需要使用 fork 选项,但这个选项似乎使连接不起作用。

我知道我可以用 Perl(我的首选语言)解决这个问题,但我宁愿避免自己编写整个实现。我熟悉 IO::Socket 库,我只是希望任何人都有做这种事情的经验。接受建议/想法。

谢谢。

0 投票
2 回答
1722 浏览

ipc - 等待绑定 Unix 域套接字

我正在编写一个客户端应用程序,它通过 Unix 域套接字连接到服务器进程。如果服务器进程没有运行,我希望客户端等到服务器启动并监听套接字上的连接。

目前,我在客户端中有一个重试循环,它每秒调用一次 connect(),直到它成功连接到套接字。

有没有我可以调用的函数,它会简单地阻塞,直到创建一个特定的命名套接字(例如“/var/mysock”)并将其绑定到服务器进程?

0 投票
4 回答
5362 浏览

linux - erlang:UNIX 域套接字支持?

有没有办法直接从 Erlang 访问 UNIX 域套接字(例如 /var/run/dbus/system_bus_socket )而不求助于第三方驱动程序?

0 投票
3 回答
2933 浏览

sockets - UNIX域套接字:是否有“忙”信号之类的东西?

如果接收端无法应对负载,客户端是否可以通过 UNIX 域套接字(AF_UNIX 类型)推送数据

或者

套接字之上必须有一个客户端-服务器协议来处理流量控制吗?

0 投票
1 回答
1369 浏览

ruby - 红宝石套接字dgram示例

我正在尝试在 ruby​​ 中使用 unix 套接字和 SOCK_DGRAM,但我很难弄清楚如何去做。到目前为止,我一直在尝试这样的事情:

有人有这方面的经验吗?

0 投票
4 回答
11298 浏览

ruby - 从 Ruby 中的 Unix 套接字读取/写入

我正在尝试从 Ruby 中的 UNIX 套接字进行连接、读取和写入。它是 haproxy 使用的统计套接字。

我的代码如下:

它第一次成功,但第二次尝试失败。我不确定为什么。

问题是什么?是否有关于使用 UNIX 套接字和 Ruby 的良好参考?

0 投票
4 回答
554 浏览

c++ - 将 Windows 套接字程序移植到 Unix:unix 中 winsock32 API 的替代方案

在 Socket 编程中,如果连接关闭,Unix 线程如何从客户端接收 Socket CLOSE 事件?

是否有任何 API 会通知 unix 线程收到 CLOSE 事件?

与在 Windows 中一样,我们有 WSAEnumNetworkEvents API,它获取指定套接字描述符的事件通知。Unix 套接字编程中使用的等效 API 是什么?

请提供查询帮助。

0 投票
2 回答
2098 浏览

c - 因此,对于 AF_UNIX (AF_LOCAL) 套接字上的超时,setsockopt...未记录/不起作用...选项/替代方案?

如果这很重要,我正在运行 Fedora 13。

我查阅了有关 unix(7)、setsockopt 和 send/recv 的手册页。

阅读手册页似乎或多或少地告诉我,并非所有选项都可以保证做任何事情......而且显然只有少数有效/无效的选项被记录在案。

特别是......我想看看是否可以超时。至少在我的系统上, SO_RCVTIMEO 实际上为 recv 系列调用设置了一个超时......但是 SO_SNDTIMEO 将套接字似乎设置为非阻塞模式而没有超时。

所以我的问题是......我可以做些什么来解决 setsockopt 不是处理 AF_UNIX 套接字超时的可靠方法这一事实?

0 投票
7 回答
54030 浏览

c - Unix Domain Socket:在一个服务器进程和多个客户端进程之间使用数据报通信

我想在 Linux 上的多个进程之间建立 IPC 连接。我以前从未使用过 UNIX 套接字,因此我不知道这是否是解决此问题的正确方法。

一个进程接收数据(未格式化的、二进制的)并应使用数据报协议(即类似于带有 AF_INET 的 UDP)通过本地 AF_UNIX 套接字分发该数据。从该进程发送到本地 Unix 套接字的数据应被多个侦听同一套接字的客户端接收。接收器的数量可能会有所不同。

为此,使用以下代码创建套接字并向其发送数据(服务器进程):

此写入返回 -1 并带有 errno 报告 ENOTCONN(“传输端点未连接”)。我猜这是因为当前没有接收进程正在监听这个本地套接字,对吗?

然后,我尝试创建一个连接到此套接字的客户端。

在这里,绑定失败(“地址已在使用中”)。那么,我是否需要设置一些套接字选项,或者这通常是错误的方法?

提前感谢您的任何评论/解决方案!