尝试用Python设置一些基本的socket代码(好吧,Jython,但我不认为这与此相关)。在
import socket
class Foo(object):
def __init__(self):
#some other init code here
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect("localhost", 2057)
s.send("Testing 1,2,3...")
data = s.recv()
s.close()
print data
它告诉我:
s.connect("localhost", 2057) File "<string>", line 1, in connect TypeError: connect() takes exactly 2 arguments (3 given)
我感觉有件很简单的事情在盯着我,但我不知道我做错了什么。在
必须向
connect()
方法传递一个元组。在需要的第一个(隐式)参数是
self
,第二个参数是元组。在你在传递三个参数!^{1>第二个参数被指定为第二个参数,第二个参数被指定为。在
现在,它之所以不高兴是因为
socket.connect()
只接受一个参数(当然,如果计算隐式实例参数的话,两个参数):see the docs。在隐式传递的第三个(或第一个)参数是
self
(s
)。在Sockets取一个由
(HOST, PORT)
组成的元组。在相关问题 更多 >
编程相关推荐