你好,
我有一个问题,我用SocketServer创建了一个python服务器(我了解到(,这个显然有效,但当我想连接我的客户端时,我会得到一个回溯,我真的不明白。允许我共享服务器、客户端、telnet和回溯的代码
服务器代码:
import SocketServer
import threading
class EchoHandler(SocketServer.BaseRequestHandler):
def handle(self):
print "{} is connected".format(self.client_address)
data = "test"
while len(data):
data=self.request.recv(1024)
print "Client sent: {}".format(data)
self.request.send(data)
print "Client is gone"
server_Addr = "127.0.0.1"
server_port = 7008
print "Running Server on address {} and port {}".format(server_Addr,server_port)
server = SocketServer.ThreadingTCPServer((server_Addr,server_port), EchoHandler)
server.serve_forever()
客户端代码:
#!/usr/bin/env python
import socket
TCP_IP = '127.0.0.1'
TCP_PORT = 7008
BUFFER_SIZE = 1024
MESSAGE = "Hello, World!"
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((TCP_IP, TCP_PORT))
s.send(MESSAGE)
data = s.recv(BUFFER_SIZE)
s.close()
print "received data:", data
回溯:
Traceback (most recent call last):
File "/home/labofx/Bureau/client_script_v6.py", line 11, in <module>
s.connect((TCP_IP, TCP_PORT))
File "/usr/lib/python2.7/socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
error: [Errno 111] Connection refused
显示服务器正在工作的telnet输出
labofx@labofx-To-be-filled-by-O-E-M:~$ telnet 127.0.0.1 7008 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'. hello hello
and the output of the server:
Running Server on address 127.0.0.1 and port 7008 ('127.0.0.1', 50825) is connected Client sent: hello
PS:很抱歉我的英语不好,我是以法语为母语的
提前感谢您的帮助
谢谢Chaker ^^
有了你的评论,我已经找到了如何让它发挥作用。客户端需要通过终端执行,只有当我通过带有运行模块的文件运行它时,才会出现错误。