尝试连接 119.23.124.81:7575
服务器每5秒会返回一个{"type":"ping"}
,我尝试用以下代码去连接,但是无法获取到这个{"type":"ping"}
:
s = socket(AF_INET, SOCK_STREAM)
# 建立连接:
s.connect(('119.23.124.81', 7575))
while True:
print(s.recv(1024).decode('utf-8'))
s.close()
代码不会报错,但是也获取到我想要的内容
请问要如何写才能获取到这个{"type":"ping"}
調べてみたら、これは通常のソケットではなく、WebSocket プロトコルが使用されていることが判明しました
代わりに WebSocket ライブラリを使用してください。コードは次のとおりです:
リーリー公式ドキュメントを参照してください
リーリーと
リーリー送信するデータは辞書オブジェクトであるため、ソケット経由でデータを送信する場合は、送信する前に pickle または json モジュールを使用してデータをシリアル化し、それに応じて、受信側でも逆シリアル化に pickle または json を使用する必要があります。