首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Unix中创建名为套接字的TCP-IP文件?

如何在Unix中创建名为套接字的TCP-IP文件?
EN

Stack Overflow用户
提问于 2022-10-29 07:38:55
回答 1查看 36关注 0票数 0

我发现,在Unix中的“一切都是文件”的原则下,即使套接字也被视为文件,并且可以存储在文件系统中的路径中。因此,出于好奇,我试图创建一个TCP-IP套接字文件。

这个答案展示了如何创建一个命名的Unix域套接字文件。但是struct sockaddr_in没有sin_path字段。因此,我不知道如何创建一个命名的TCP-IP套接字文件。有人能告诉我怎么做吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-29 13:06:36

..。即使套接字也被视为文件,并且可以存储在文件系统中的路径中。

不怎么有意思。在某些套接字中,端点由文件表示。这些是UNIX域套接字(AF_UNIX),它们的变体具有类似于UDP的消息语义(SOCK_DGRAM)和类似于TCP的流语义(SOCK_STREAM)。

但是,UDP和TCP套接字在UNIX中没有文件表示。它们有一个文件描述符,虽然类似于普通文件(以及读写系统调用与这些文件一起工作),但它们不是由文件系统中的路径表示的。

还有类似于/dev/tcp/..的东西来处理bash中的套接字。但这也不是文件系统上的实际路径,而只是一个特定于bash的高级语法。

有关这方面的更多信息,请参见维基百科:一切都是文件,它专门说明:

..。因此,对此特性的更准确的描述是,所有内容都是文件描述符

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74243615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档