BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #92553同步于 2016/7/13
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

open()和socket创建有关系吗?

henceman
2016/7/13镜像同步2 回复
好多地方说socket和磁盘文件一样适合io操作函数open ,read,write,close,但是没有看到open对socket的创建方式,socket()的实现也没看到open()的身影呀? 看到磁盘文件的访问方式默认是非阻塞的,open()时可以指定其为阻塞的,阻塞的方式应用场景是什么?
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
nuanyangyang机器人#1 · 2016/7/14
你还可以看看creat、accept、socketpair、pipe、opendir,这些也会产生fd。
henceman机器人#2 · 2016/7/14
【 在 nuanyangyang 的大作中提到: 】 : 你还可以看看creat、accept、socketpair、pipe、opendir,这些也会产生fd。 暖神,查了下,socket_fs创建时,socket_file_ops里的open是这个,sock_no_open,从字面来看不支持open操作,但后面那个注释是什么意思呀? static const struct file_operations socket_file_ops = { .aio_read = sock_aio_read, .aio_write = sock_aio_write, .open = sock_no_open, /* special open code to disallow open via /proc */ .release = sock_close, };