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

java - Unix 套接字使用 Java 连接到 MySql 以避免 JDBC 的 TCP/IP 开销?

是否可以使用 Java 与 MySql 建立 Unix 套接字连接以避免 JDBC 的 TCP/IP 开销?

有谁知道使这成为可能的图书馆(或几个图书馆,也许)?

0 投票
4 回答
32027 浏览

java - Java 中的 UNIX 域套接字

我看到这些线程用于 Java 的 UNIX 套接字实现?http://forums.sun.com/thread.jspa?threadID=713266

第二个链接说 Java 已经支持 UNIX Domain Socket。如果这是真的,我需要从 Java 实现什么类?

从第一个链接开始,它说 Java 不支持 UNIX Domain Socket。如果您需要 UNIX 域套接字,则必须使用第 3 方库。

那么,它是什么?

0 投票
4 回答
2504 浏览

linux - ZeroMQ:检查是否有人在 Unix 域套接字后面监听

上下文:Linux (Ubuntu)、C、ZeroMQ

我有一个侦听ipc://SUB ZeroMQ 套接字(物理上是 Unix 域套接字)的服务器。

我有一个客户端应该连接到套接字,发布它的消息并断开连接。

问题:如果服务器被杀死(或以其他方式异常死亡),套接字文件将保留在原地。如果客户端尝试连接到这个陈旧的套接字,它会阻塞在zmq_term().

如果服务器不存在,我需要防止客户端阻塞,但如果服务器处于活动状态但很忙,则保证交付。

假设我无法通过一些外部魔法(例如通过检查 PID 文件)来跟踪服务器的生命周期。

有什么提示吗?

0 投票
1 回答
2306 浏览

java - 如何使用来自 Java/Scala 的 Unix 域套接字?

使用 Scala 的 Unix 域套接字的最佳方式是什么?

我找到了一个名为JUDS的 Java 库,但它似乎不允许我通过套接字发送文件描述符 --- 我想首先使用 Unix 域套接字的原因。

JUDS 自述文件引用了一个名为 J-BUDS 的竞争库,但我无法在任何地方找到它。

我可以自己将该功能添加到 JUDS,但如果它已经在其他地方的 jar 文件中,我宁愿不要重新发明轮子。

0 投票
1 回答
128 浏览

c - Unix网络编程

我编写了一个客户端-服务器程序,它从服务器中的文件到客户端处理一些数据。在这种情况下,如果服务器没有运行,我不希望客户端无限期地等待。为此,我使用 SELECT 系统调用,在此系统调用中,我们可以指定时间作为参数,它告诉客户端等待服务器在该时间内发送数据。现在的问题是,它只为那个号码发送数据。秒数(在 select() 中指定)。它没有做实际的工作.. 注意:- 我使用的是 UDP 连接。

谁能解决这个问题??

0 投票
2 回答
2790 浏览

python - python asyncore 使用 AF_UNIX 套接字的问题

我在使用带有 AF_UNIX 套接字的 asyncore 时遇到了一些问题。这段代码

如果我执行代码

它立即退出,不等待读写。如果我更改代码以强制 writable() 方法始终返回False,它会正确等待输入,我可以像这样与 socat 通信

但仅用于阅读(逻辑上写不起作用,因为 writable() 返回False)。我的代码中是否有错误,或者我无法使用 asyncore/select() 管理 AF_UNIX 套接字?

0 投票
1 回答
789 浏览

unix - Unix 上的 0 拷贝进程间通信,不使用文件系统

如果我必须在两个进程之间移动适量的内存,我可以执行以下操作:

  • 创建一个用于写入的文件
  • ftruncate 到所需的大小
  • mmap 并取消链接
  • 根据需要使用

当另一个进程需要该数据时,它:

  • 通过 unix 套接字连接到第一个进程
  • 第一个进程通过 unix socket 消息发送文件的 fd
  • 映射 fd
  • 根据需要使用

这允许我们在没有任何副本的情况下在进程之间移动内存 - 但创建的文件必须在内存挂载的文件系统上,否则我们可能会遇到磁盘命中,这会降低性能。有没有办法在不使用文件系统的情况下做这样的事情?一个类似 malloc 的函数会返回一个 fd 和一个指针。

[编辑]拥有一个文件描述符还提供了一个由内核维护的引用计数机制。

0 投票
1 回答
667 浏览

python - 使用域套接字的 Python 兼容分布式消息传递/任务系统(如 Celery)

有没有像 Celery 一样适用于 unix 域套接字的东西?我当前的主机(dreamhost)禁止运行侦听 IP 套接字的服务器,所以我需要一些可以与域套接字一起使用的东西。

显然,更简单的解决方案是首选,但任何带有 python 客户端库和域套接字支持的消息队列软件都可以。

0 投票
2 回答
19751 浏览

c - 错误:“传输端点已连接”

我正在尝试用 C 开发一个小型聊天服务器。

对于一个简单的聊天服务器,

  • (传输端点)===(套接字)?
  • 我必须为每个客户端使用一个套接字,还是可以为多个客户端重复使用一个套接字?如果是这样,如何?
  • 有这样做的标准方法吗?
  • 有什么好的参考资料吗?

我可以看到一些示例实现吗?我必须使用 gcc 编译器和 c 语言来完成这项任务。

0 投票
3 回答
11124 浏览

c - 如何使用 SOCK_DGRAM 制作双向 unix 域套接字?

我正在尝试编写一个简单的 Unix 数据报服务器/客户端,但遇到了一些问题。我想要的是一个服务器,它在数据报套接字上侦听并向原始发送者发送对收到的每条消息的回复。我决定首先尝试socat用作“服务器”并用 C 编写客户端。我正在运行 socat,如下所示:

据我了解,这应该收听/tmp/test.socket并回复使用相同字符串收到的所有内容?然后我有一个看起来像这样的客户端程序(为清楚起见,删除了错误检查):

它应该发送数据包(有效),接收数据包,然后将其打印出来,但程序似乎无法接收数据包。我在这里做错了什么,还是我对 Unix 套接字有根本的误解?谢谢!