【问题标题】:ioctl() for socket programming in Cioctl() 用于 C 中的套接字编程
【发布时间】:2011-11-03 02:07:38
【问题描述】:

我正在使用 ioctl() 在套接字程序中读取缓冲区中的字符数。但是,有时,当缓冲区的填充延迟时,ioctl() 会将其误解为消息的结尾。如果我要使用 ioctl() 来了解传入消息的长度,如何避免这种情况。另外我不知道我将收到的消息的大小,因此我无法在静态缓冲区 recv() 中接收它。

谢谢, 马诺吉

【问题讨论】:

  • 您在套接字上使用流或数据报吗?

标签: c sockets ioctl


【解决方案1】:

使消息大小成为消息的一部分,最好是前导字节。即使其余消息的前 2 个字节大小。这样你就知道你必须等到 2 个读取字节被读取 - 然后读取消息的大小。

【讨论】:

    猜你喜欢
    • 2018-03-21
    • 2012-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-09
    • 2013-06-05
    相关资源
    最近更新 更多