一个简单的tcp文件拷贝服务器和客户端

import socket


def main():
# 需求分析1.创建服务器
sever_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
sever_address = ("",1314)
sever_socket.bind(sever_address) #绑定地址
sever_socket.listen(128) #修改套接字为只听模式
client_socket,client_address=sever_socket.accept()

client_date = client_socket.recv(1024)
#2.客户端发来文件名,服务器尝试打开并读取文件内容
try:
with open(client_date.decode("utf-8"),"rb") as f :
content = f.read()
client_socket.send(content)
except Exception :
print("文件不存在")
#3.发送读取到的内容到客户端
client_socket.close()
sever_socket.close()

if __name__ == '__main__':
main()

# 分析需求 1.与服务器建立连接
import socket


def main():
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sever_address = ("127.0.0.1", 1314)
client_socket.connect(sever_address)

#2.发送请求下载的文件名
down_file_name = input("请输入要下载的文件名:")
client_socket.send(down_file_name.encode("utf-8"))

#3.接收服务器返回的内容并保存
receive_data = client_socket.recv(1024)
if receive_data :
with open("(新)"+down_file_name,"wb") as f :
f.write(receive_data)
else:
print("文件不存在或文件内容为空")

client_socket.close()

if __name__ == '__main__':
main()

猜你喜欢

转载自www.cnblogs.com/guducp/p/9141893.html