python - socket發送的訊息怎麼在瀏覽器中顯示出來
淡淡烟草味
淡淡烟草味 2017-05-18 10:56:56
0
2
921

用socket模組建立的socket服務端,例如監聽了本地的4399埠。用瀏覽器連接,但是顯示不了socket發出的字元。
這該怎麼辦?

淡淡烟草味
淡淡烟草味

全部回覆(2)
某草草

因為你的連接埠不是80, 所以瀏覽器沒法用http協定去解析你的請求, 因為它不認識4399是乾嘛的, 所以如果你想用監聽4399,並且用瀏覽器看到socket服務端發送的訊息, 你就必須自己建構http報文

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)    # tcp 报文
s.bind(('localhost', 4399))
s.listen(2)
req, req_info = s.accept()
req.recv(65549)
# http协议头是文本形式, 以\r\n作为每个字段的分隔, 最后头部以\r\n结束, 所以我们主要构造好 http头, 浏览器就能识别的, 接下来的正文, 就能按照html的标准的编写了
req.send('HTTP/1.1 200 OK\r\n\r\n<html><body>hello</body></html>')
Peter_Zhu

關於Python SOCKET, 如果你是想瀏覽器看到數據,那麼你肯定要實現HTTP協議,不然瀏覽器怎麼會知道你發來的啥,數據量有多大?
關於Python Socket HTTP ,請看這裡 https://github.com/thisforeda...

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!