ioctl() 用于 C 中的套接字编程
Posted
技术标签:
【中文标题】ioctl() 用于 C 中的套接字编程【英文标题】:ioctl() for socket programming in C 【发布时间】:2011-11-03 02:07:38 【问题描述】:我正在使用 ioctl() 在套接字程序中读取缓冲区中的字符数。但是,有时,当缓冲区的填充延迟时,ioctl() 会将其误解为消息的结尾。如果我要使用 ioctl() 来了解传入消息的长度,如何避免这种情况。另外我不知道我将收到的消息的大小,因此我无法在静态缓冲区 recv() 中接收它。
谢谢, 马诺吉
【问题讨论】:
您在套接字上使用流或数据报吗? 【参考方案1】:使消息大小成为消息的一部分,最好是前导字节。即使其余消息的前 2 个字节大小。这样你就知道你必须等到 2 个读取字节被读取 - 然后读取消息的大小。
【讨论】:
以上是关于ioctl() 用于 C 中的套接字编程的主要内容,如果未能解决你的问题,请参考以下文章