1
我很努力地在Ruby中實現clamd守護進程的INSTREAM命令。 這裏是clamd如何在Ruby中實現INSTREAM協議?
@file = File.open("input.txt")
socket = TCPSocket.new(HOST, PORT)
#writing the command
socket.write("zINSTREAM\0")
#streaming the chunk
socket.write(1024) #size of chunk
socket.write(@file.read(1024)) #chunk of data
#end the streaming
socket.write(0)
puts "Reading from the scoket"
puts socket.recv(1024)
socket.close
文檔,但我總是收到錯誤反應「INSTREAM大小限制超出。ERROR」 我做錯了的是什麼?
從您提供的文件鏈接:「流被終止注意:不要超過clamd.conf中定義的StreamMaxLength,否則clamd將以超出INSTREAM大小限制的方式回覆並關閉連接上。」你的clamd.conf是什麼? – unnu
我檢查了clamd.conf。 StreamMaxLength 25M。 input.txt的內容不會超過25兆字節。 –
你確定必須在'zINSTREAM'命令後立即發送空終止符?它不應該只是'socket.write(「zINSTREAM」)'? – unnu