Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用“连接”连接到远程套接字服务器;名称空间;参数呢?_Python_Sockets_Tornado - Fatal编程技术网

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客户端库?