キープアライブセッション中に同じ応答でhtmlコンテンツ(少し遅れている)の後にデータを送信していて、応答全体がダウンロードされる前にブラウザにhtmlを表示します。完全にダウンロードされる前にhtmlページを表示する方法
例えば、私はテキスト'hello, '
と遅延を持つ'world'
を計算する関数(1秒とする)を持っています。だから私はすぐに'hello, '
と遅れて'world'
を表示するブラウザをしたい。 (:https://pastebin.com/muUJyR36強調表示):
import socket
from time import sleep
sock = socket.socket()
sock.bind(('', 9090))
sock.listen(1)
conn, addr = sock.accept()
def give_me_a_world():
sleep(1)
return b'world'
while True:
data = conn.recv(1024)
response = b'HTTP/1.1 200 OK\r\n'\
b'Content-Length: 12\r\n'\
b'Connection: keep-alive\r\n'\
b'\r\n'\
b'hello, '
conn.send(response) # send first part
conn.send(give_me_a_world()) # make a delay and send other part
conn.close()
あなたが試したことを説明してください。また、データを送信する方法も「あいまい」です。 – aaaaaa
'keep-alive'はこの問題とは何の関係もなく、HTTPではなくTCPレベルに基づいています。 – shaochuancs
ウェブソケットを試してみませんか? –