Python 如何使用“连接”连接到远程套接字服务器;名称空间;参数呢?
我需要使用类似于Python 如何使用“连接”连接到远程套接字服务器;名称空间;参数呢?,python,sockets,tornado,Python,Sockets,Tornado,我需要使用类似于ws://localhost:8006/user?id=666的url从python客户端连接到tornado服务器 我试过这样的方法: import socket s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect('ws://localhost:8006/user?id=666') print s.recv(1024) s.close …并得到以下错误: TypeError: getsockadd
ws://localhost:8006/user?id=666的url从python客户端连接到tornado服务器
我试过这样的方法:
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect('ws://localhost:8006/user?id=666')
print s.recv(1024)
s.close
…并得到以下错误:
TypeError: getsockaddrarg: AF_INET address must be tuple, not str
谢谢您必须将字符串转换为元组。实例:
x = "(1,2,3)"
t = tuple(int(v) for v in re.findall("[0-9]+", x))
您无法连接到具有命名空间
和参数
的远程套接字。您可以连接主机和端口。时期Python的模块是围绕本机套接字的薄型包装器。它对http或ws等协议一无所知
您可以连接到web套接字使用的主机和端口。然后你可以发送任何你喜欢的参数…但它不会理解它们,除非你使用
您最好使用其他人编写的websocket客户端(请参阅一些答案)
如果您想自己编写,这是一个简单的示例。为什么不使用python websocket客户端库?