【发布时间】:2011-04-20 03:52:36
【问题描述】:
所以,我正在尝试在原始套接字之上制作 TCP 的玩具(bash?)实现,以更好地理解协议。
我知道 /dev/raw 已被 O_DIRECT 弃用(为什么?)并且在我的内核中未启用。
$ zgrep -i raw /proc/config.gz
CONFIG_IP_NF_RAW=m
CONFIG_IP6_NF_RAW=m
CONFIG_SERIO_RAW=m
# CONFIG_RAW_DRIVER is not set
CONFIG_SND_RAWMIDI=m
CONFIG_SND_RAWMIDI_SEQ=m
CONFIG_HIDRAW=y
CONFIG_USB_SERIAL_SIERRAWIRELESS=m
CONFIG_USB_GADGET_VBUS_DRAW=2
# CONFIG_LINE6_USB_RAW is not set
CONFIG_ATH6KL_HTC_RAW_INTERFACE=y
我找不到关于如何在没有 linux 的 TCP 实现的情况下使用 O_DIRECT 发送数据的信息,我想我应该使用 O_DIRECT。
【问题讨论】:
-
O_DIRECT 仅适用于诚实文件和块设备。
标签: bash sockets linux-kernel network-protocols