使用以下伪 Python 脚本将数据发送到本地套接字:
s = socket.socket(AF_UNIX, SOCK_STREAM)
s.connect("./sock.sock")
s.send("test\n")
s.send("aaa\0")
s.close()
我的 C 程序将随机结束recv
以下缓冲区:
test\n
test\n<random chars>
test\naaa
(如预期)
在套接字可读的点之后,套接字正在被recv()
'd 。select()
问题是,如何避免前两种情况?
还有一个问题:是否可以从该脚本发送以下两条消息:
asd\0
dsa\0
并且必须select()
在每个 s 上将套接字显示为可读send
的,还是只有在我再次运行脚本(重新启动套接字客户端connect
ion)并为每个 s 发送消息时才会这样做connect
?