我想将我的EC2实例作为一个服务器来监听我的本地机器,它是一个客户端 . 我在实例上运行server.py并运行并等待客户端,但在客户端,我收到此错误
“Traceback(最近一次调用最后一次):文件”client.py“,第18行,在client_socket.connect(ADDR)文件”/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ socket.py“,第228行,在meth返回getattr(self._sock,name)(* args)socket.error:[Errno 60]操作超时”
这是我的双方代码:客户端
#!/usr/bin/env python
"""
a simple client
"""
import socket
HOST = 'localhost'
PORT = 50000
BUFF = 1024
ADDR = (HOST, PORT)
running = 1
#creates a client side socket and connect
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect(ADDR)
#listens for incoming requests
while running:
data = raw_input('> ')
if not data: break
client_socket.send(data) #sends data to server
data = client_socket.recv(BUFF) #received echoed data from server
if not data: break
print data
client_socket.close()
服务器
#!/usr/bin/env python
"""
a simple echo-server
"""
import socket
HOST = 'localhost'
PORT = 50000
BUFF = 1024
ADDR = (HOST, PORT)
running = 1
#creates a server side socket and bind the socket to the host and port
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind(ADDR)
server_socket.listen(2) # can keep 2 clients waiting while serving current client
#listens for incoming requests
while running:
print 'waiting for connection...'
client_socket, addr = server_socket.accept()
print '...connected from:', addr
#client receives data and echoes it back
while running:
data = client_socket.recv(BUFF)
if not data: break #stops when client doesn't send data
client_socket.send(data) #echoes data back to client
client_socket.close()
server_socket.close()