ローカル ソケットにデータを送信するための次の疑似 Python スクリプトを使用します。
s = socket.socket(AF_UNIX, SOCK_STREAM)
s.connect("./sock.sock")
s.send("test\n")
s.send("aaa\0")
s.close()
recv
私の C プログラムは、次のバッファをランダムにing してしまいます:
test\n
test\n<random chars>
test\naaa
(予想通り)
ソケットは、ソケットが読み取り可能であるというポイントrecv()
の後に 'dされています。select()
問題は、最初の 2 つのケースをどのように回避するかです。
副次的な質問: そのスクリプトから次の 2 つのメッセージを送信することは可能ですか。
asd\0
dsa\0
そしてselect()
、それらのそれぞれでソケットを読み取り可能として表示する必要がありますか、それともスクリプトを再度実行して (ソケット クライアントイオンを再起動)、それぞれにメッセージを送信するsend
場合にのみそうしますか?connect
connect