python – So zeigen Sie die vom Socket gesendeten Informationen im Browser an
淡淡烟草味
淡淡烟草味 2017-05-18 10:56:56
0
2
927

Der mit dem Socket-Modul erstellte Socket-Server lauscht beispielsweise auf den lokalen Port 4399. Ich verwende einen Browser, um eine Verbindung herzustellen, aber die vom Socket gesendeten Zeichen können nicht angezeigt werden.
Was soll ich tun?

淡淡烟草味
淡淡烟草味

Antworte allen(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...

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!