84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
用socket模組建立的socket服務端,例如監聽了本地的4399埠。用瀏覽器連接,但是顯示不了socket發出的字元。 這該怎麼辦?
因為你的連接埠不是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>')
關於Python SOCKET, 如果你是想瀏覽器看到數據,那麼你肯定要實現HTTP協議,不然瀏覽器怎麼會知道你發來的啥,數據量有多大? 關於Python Socket HTTP ,請看這裡 https://github.com/thisforeda...
因為你的連接埠不是80, 所以瀏覽器沒法用http協定去解析你的請求, 因為它不認識4399是乾嘛的, 所以如果你想用監聽4399,並且用瀏覽器看到socket服務端發送的訊息, 你就必須自己建構http報文
關於Python SOCKET, 如果你是想瀏覽器看到數據,那麼你肯定要實現HTTP協議,不然瀏覽器怎麼會知道你發來的啥,數據量有多大?
關於Python Socket HTTP ,請看這裡 https://github.com/thisforeda...