Python 3.x 如何使用Python 3创建TCP服务器?

Python 3.x 如何使用Python 3创建TCP服务器?,python-3.x,Python 3.x,如何在python3中创建一个TCP服务器,它将返回当前目录中的所有文件?您可以使用socketserver,它将为当前工作目录提供服务 import socketserver # import socketserver preinstalled module import http.server httpd = socketserver.TCPServer(("127.0.0.1", 9000), http.server.SimpleHTTPRequestHandler) httpd.ser

如何在python3中创建一个TCP服务器,它将返回当前目录中的所有文件?

您可以使用socketserver,它将为当前工作目录提供服务

import socketserver  # import socketserver preinstalled module
import http.server
httpd = socketserver.TCPServer(("127.0.0.1", 9000), http.server.SimpleHTTPRequestHandler)
httpd.serve_forever()

您可以使用
socketserver
库,这将为当前工作目录提供服务。 这是服务器代码

导入socketserver
类MyTCPHandler(socketserver.BaseRequestHandler):
"""
服务器的请求处理程序类。
每个到服务器的连接都会实例化一次,并且必须
重写handle()方法以实现与
客户
"""
def句柄(自身):
#self.request是连接到客户端的TCP套接字
self.data=self.request.recv(1024).strip()
打印(“{}写入:”.format(self.client_地址[0]))
打印(自我数据)
#只需发送回相同的数据,但大写
self.request.sendall(self.data.upper())
#您可以在这里执行self.request.sendall(使用os库并显示ls命令)
如果名称=“\uuuuu main\uuuuuuuu”:
主机,PORT=“localhost”,9999
#创建服务器,绑定到端口9999上的本地主机
使用socketserver.TCPServer((主机,端口),MyTCPHandler)作为服务器:
#激活服务器;这将一直运行,直到您
#用Ctrl-C中断程序
服务器。永远为您服务()
这是客户端

导入套接字
导入系统
主机,PORT=“localhost”,9999
data=”“.join(sys.argv[1:])
#创建套接字(SOCK_流表示TCP套接字)
将socket.socket(socket.AF_INET,socket.SOCK_STREAM)作为SOCK:
#连接到服务器并发送数据
sock.connect((主机、端口))
sock.sendall(字节(数据+“\n”,“utf-8”))
#从服务器接收数据并关闭
已接收=str(sock.recv(1024),“utf-8”)
打印(“发送:{}”。格式(数据))
打印(“已接收:{}”。格式(已接收))
然后应该得到如下输出

服务器:

127.0.0.1 wrote:
b'hello world with TCP'
127.0.0.1 wrote:
b'python is nice'
客户:

$ python TCPClient.py hello world with TCP
Sent:     hello world with TCP
Received: HELLO WORLD WITH TCP
$ python TCPClient.py python is nice
Sent:     python is nice
Received: PYTHON IS NICE

然后,您可以使用此代码在运行服务器时发送当前目录列表错误。属性错误:以socketserver.TCPServer((主机,端口),MyTCPHandler)作为服务器退出“行”: