我正在创建一个非常简单的 python 脚本,旨在打开一个 TCP 套接字并发送一些 JSON 数据。(我是 python 新手)
我在运行脚本时收到以下错误:
Traceback (most recent call last):
File "JSONTest.py", line 17, in <module>
s.connect('10.12.0.30', 6634)
File "/usr/lib/python2.7/socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
TypeError: connect() takes exactly one argument (2 given)
我的脚本如下:
#Imports
import socket
import json
import time
data = "{\"method\": \"echo\",\"id\": \"echo\",\"params\": []}"
#Create socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#Establish TCP session via IP address and port specified
s.connect('10.12.0.30', 6634)
#Send JSON to socket
s.send(json.dumps(data))
#Wait for response and print to console
result = json.loads(s.recv(1024))
#print str(result)
#Exit
s.close()
我检查了套接字库上的文档,并且 connect() 仅列出了一个参数,即所需的目标 IP 地址。所以,我的问题是,如果 connect() 方法不允许我在那里输入它,我该如何执行上述操作,我还指定了我的 TCP 端口?
我也愿意输入更好的方法来实现这一点。