Maison  >  Questions et réponses  >  le corps du texte

python - Comment afficher les informations envoyées par socket dans le navigateur

Le serveur socket construit à l'aide du module socket, par exemple, écoute le port local 4399. J'utilise un navigateur pour me connecter, mais les caractères envoyés depuis le socket ne peuvent pas être affichés.
Que dois-je faire ?

淡淡烟草味淡淡烟草味2735 Il y a quelques jours936

répondre à tous(2)je répondrai

  • 某草草

    某草草2017-05-18 10:58:56

    Parce que votre port n'est pas 80, le navigateur ne peut pas utiliser le protocole http pour analyser votre requête, car il ne sait pas à quoi sert 4399, donc si vous souhaitez utiliser la surveillance 4399, et utilisez le navigateur pour voir le socket Pour les messages envoyés par le serveur, vous devez construire vous-même le message 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>')

    répondre
    0
  • 天蓬老师

    天蓬老师2017-05-18 10:58:56

    Concernant Python SOCKET, si vous souhaitez que le navigateur voie les données, alors vous devez implémenter le protocole HTTP. Sinon, comment le navigateur saura-t-il ce que vous envoyez et quelle quantité de données s'y trouve ?
    À propos de Python Socket HTTP, veuillez voir ici https://github.com/thisforeda...

    répondre
    0
  • Annulerrépondre