import socket
import sys
class SimpleClient:
def __init__(self, client_socket, statusMessage):
self.client_socket = client_socket
self.statusMessage = statusMessage
def connectToServer(self):
self.client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = 'cs5700sp15.ccs.neu.edu'
port = 27993
remote_ip = socket.gethostbyname(host)
try:
self.client_socket.connect((remote_ip, port))
except socket.error:
print ('Connection failed')
sys.exit()
print ('Connection successful')
def sendHelloMessage(self):
"""This funtion sends the initial HELLO message to the server"""
nu_id = input('Enter your NUID: ')
hello_message = 'cs5700spring2015 HELLO {}
'.format(nu_id)
self.client_socket.send(bytes(hello_message, 'ascii'))
def receiveStatusMessage(self):
"""This function receives the STATUS message from the server"""
self.statusMessage = str(self.client_socket.recv(1024))
print (self.statusMessage)
#handleStatusMessage()
def main():
client = SimpleClient()
client.connectToServer()
client.sendHelloMessage()
client.receiveStatusMessage()
if __name__ == "__main__":main()
I get the following error:
Traceback (most recent call last):
File "/Users/sanketdeshpande/Documents/workspace/test/project01-simpleclient.py", line 49, in <module>
if __name__ == "__main__":main()
File "/Users/sanketdeshpande/Documents/workspace/test/project01-simpleclient.py", line 44, in main
client = SimpleClient()
TypeError: __init__() missing 2 required positional arguments: 'client_socket' and 'statusMessage'
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…