169得票2回答
Unix域套接字 VS 命名管道?

在查看一个名为Unix命名套接字的东西时,我认为它们是命名管道。我看了一下命名管道,没有看出什么区别。我看到它们的初始化方式不同,但这是我注意到的唯一的事情。两者都使用C写入/读取函数,功能相似。 Unix域套接字和命名管道有什么区别?什么时候选择哪个?默认情况下应该使用哪一个(就像我在C+...

163得票5回答
TCP回环连接与Unix域套接字性能比较

正在开发一个基于Android和iOS的应用程序,需要与运行在同一设备上的服务器进行通信。目前使用TCP环回连接来实现应用程序和服务器之间的通信(应用程序编写在用户层,服务器使用Android NDK编写的C ++)。 我想知道是否将进程间通信替换为Unix域套接字会提高性能? 或者一般来...

92得票1回答
Unix域套接字如何区分多个客户端?

TCP有元组对(IP地址/端口/类型),以区分不同的客户端。UDP传递客户端IP和端口。那么Unix域如何跟踪不同的客户端呢? 换句话说,服务器创建一个绑定到某个路径(比如/tmp/socket)的套接字。2个或多个客户端连接到/tmp/socket。在底层,是什么使得它可以追踪来自客户端1...

76得票5回答
Socket编程中的htons()函数

我对socket编程很新,正在尝试理解htons()的操作。我已经阅读了一些像这个和这个之类的互联网教程。但是我无法准确理解htons()的作用。我尝试了下面的代码:#include <stdio.h> #include <sys/types.h> #include ...

51得票8回答
Java的UNIX套接字实现?

我知道UNIX套接字是特定于平台的,因此必须涉及一些非Java代码。具体来说,我们希望使用JDBC连接到仅启用了UNIX域套接字的MySQL实例。 看起来似乎不支持这个功能,但根据我所读的内容,如果我们能找到一个良好的UNIX套接字的Java实现,至少应该可以编写一个基于UNIX套接字的JD...

46得票1回答
在Unix Socket和TCP/IP Socket上运行PHP-FPM,有哪些不同之处?

运行 PHP-FPM 有两种方式。虽然技术没有绝对安全的方法,但这两种方法各有优缺点。

46得票7回答
Unix域套接字:在一个服务器进程和多个客户端进程之间使用数据报通信

我想在Linux上建立几个进程之间的IPC连接。我以前从未使用过UNIX套接字,因此我不知道这是否是解决此问题的正确方法。 一个进程接收数据(未格式化、二进制数据),并将通过本地AF_UNIX套接字使用数据报协议(类似于带有AF_INET的UDP)分发到多个客户端。此进程发送到本地Unix s...

42得票3回答
如何判断是否有任何进程绑定到Unix域套接字?

我正在为Linux编写一个Unix域套接字服务器,这里有一些关于Unix域套接字的特性需要注意:创建侦听Unix套接字会创建相应的文件系统条目,但关闭套接字并不会删除它。此外,除非手动删除文件系统条目,否则无法将套接字再次绑定到相同的路径:bind()如果给定的路径已在文件系统中存在,则会失败...

41得票3回答
在哪里放置Unix域(AF_UNIX)套接字的端点(文件)?

有没有约定俗成的方式来放置代表Unix Domain Sockets端点的“文件”? 我倾向于将它们放在/tmp/some-application-specific-subdir-name/中,但我想知道是否有更常见的地方。 背景是,POSIX并未明确访问此类“文件”的路径长度上限: ...

33得票3回答
如何在C语言中创建具有特定权限的Unix域套接字?

我有一个简单的代码,如下所示:sockaddr_un address; address.sun_family = AF_UNIX; strcpy(address.sun_path, path); unlink(path); int fd = socket(AF_UNIX, SOCK_STRE...