Python TypeError:executor()不接受任何参数(给定1个)
通过定义executor函数,我继承了在类客户机节点的类NetworkUtility中定义的函数。 你能告诉我,为什么会出现上述错误。我对此一无所知Python TypeError:executor()不接受任何参数(给定1个),python,networking,Python,Networking,通过定义executor函数,我继承了在类客户机节点的类NetworkUtility中定义的函数。 你能告诉我,为什么会出现上述错误。我对此一无所知 #!/usr/bin/python import socket from NetworkUtility import NetworkUtility #import json HOST = '' # get local machine name by socket.gethostname() PORT = 50007
#!/usr/bin/python
import socket
from NetworkUtility import NetworkUtility
#import json
HOST = '' # get local machine name by socket.gethostname()
PORT = 50007 # The same port as used by the server,reserve a port for ur service reserve port
class ClientNode(object): #if you don't want to inherit NetworkUtility
def executor():
cn1 = NetworkUtility()
cn1.setupClientConnection(HOST, PORT)
cn1.sendMessage('Client 1: Hello')
print cn1.receiveMessage()
cn1.endConnection()
c = ClientNode()
c.executor()
如果executor()
是ClientNode
类的方法,则需要使用:
def executor(self):
运行c.executor
时,c
是作为第一个参数传递给方法的类的实例self
以这种方式表示c
因此,您提供一个参数的事实是正确的,但executor当前不接受任何参数的事实需要进行上述更正。如果它在类中,您可能正在为类实例传递一个“self”是否可以在原始问题中格式化代码,以便我们可以看到缩进与实现中的缩进完全相同?当我放置executor(self)时,它会显示“socket.error:[Errno 111]Connection Rejected”(套接字.error:[Errno 111]连接被拒绝),这意味着我的答案解决了您的问题。现在您遇到了一个新问题。这可能与您尝试连接的主机上的权限、防火墙、主机文件等有关。。。但是我会检查socket模块的文档,看看下一步该怎么做。或: