功能目的:通过socket的方式client发送"指令"获取server端的文件,获取文件结束后关闭client和server端的套接字
server端实现
from socket import *
import threading
import sys
HOST = ''
PORT = 12345
BUFSIZ = 1024
ADDR = (HOST, PORT)
sub_threads = []
# 创建套接字
server_sock = socket(AF_INET, SOCK_STREAM)
# 设定超时时间后,socket其实内部变成了非阻塞
server_sock.settimeout(5.0)
# 绑定地址(ip地址,端口)到套接字,参数必须是元组的格式
server_sock.bind(ADDR)
# 开始监听,5为最大挂起的连接数
server_sock.listen(5)
def handle(connected_sock):
while True:
data = connected_sock.recv(BUFSIZ)
if not data:
connected_sock.close()
break
# 传输文件
if data == b'100':
data = ''
try:
fd = open(