套接字客户端程序与服务器建立连接,写入一些字节并使用(阻塞)read()
等待响应。
但这失败并出现错误EINVAL
("无效参数")。先前对create()
、bind()
和connect()
套接字的调用已成功进行。
我的问题
- 这是怎么回事?
平台是Linux x64。
fd 附加到一个对象,该对象是 不适合阅读;或文件 以O_DIRECT旗帜打开,并且 在 BUBF 中指定的地址, 在计数中指定的值,或 当前文件偏移量不合适 一致。
见 http://www.kernel.org/doc/man-pages/online/pages/man2/read.2.html
问题是我向 read()
函数传递了 1 个字节的大小。似乎不支持
(为什么?最小大小是多少?它必须是2/平台位数的倍数?)。
现在我通过了 8 岁,它有效。谢谢大家的评论。