Я пытаюсь прочитать некоторые (двоичные) данные из сокета lua, но приведенный выше код не завершает цикл повторения.Как я могу узнать, что достигнут конец потока?
client = require("socket")
client = socket.connect("www.google.com",80)
client:send("GET / HTTP/1.1\n\n")
repeat
print "read"
line = client:receive(512)
print "read done"
print(#line)
until line==""
print "all done"
Output is
read
read done
512
read
Обновление
Кажется, проблема в том, что форма приема (число) ожидает точное числобайты и ждите их.Но если я не знаю, сколько осталось байтов, как это сделать?(запрос http - это только пример, к которому я обращаюсь к универсальному запросу на чтение байтов из сокета)
lua 5.1.3