服务端源偌
"""
1-导入模块
2-创建套接字
3-绑定Ip与端口号
4-被动监听
5-建立链接
6-接收客户端文件信息
7-查找文件打开并发送数据到客户端
8-关闭客户端链接
9-关闭链接
"""
# 1-导入模块
import socket
# 2-创建套接字
tcp_server_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
# 3-绑定Ip与端口号
tcp_server_socket.bind(("",8089))
# 4-被动监听
tcp_server_socket.listen(128)
# 5-建立链接
new_client_socket,new_ip_port =tcp_server_socket.accept()
print("新客户端:" ,new_ip_port)
# 6-接收客户端文件信息
new_text=new_client_socket.recv(2048)
file_name = new_text.decode()
print(file_name)
# 7-查找文件打开并发送数据到客户端
with open(file_name, "rb") as file_txt:
while True:
file_data = file_txt.read(1024)
if file_data:
new_client_socket.send(file_data)
else:
break
# 8-关闭客户端链接
new_client_socket.close()
# 9-关闭链接
tcp_server_socket.close()
源代码客户端
"""
1-导入模块
2-创建套接字
3-建立链接
4-用户输入文件名
5-发送文件名到服务器端
6-创建文件并保存
7-接收服务器端发送过来的数据
8-关闭链接
"""
# 1-导入模块
import socket
# 2-创建套接字
tcp_client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 3-建立链接
tcp_client_socket.connect(("192.168.38.128", 8089))
# 4-用户输入文件名
file_name=input("请输入一个文件名 :\n")
# 5-发送文件名到服务器端
tcp_client_socket.send(file_name.encode())
# 6-创建文件并保存
with open ("/home/python/Desktop/"+ file_name,'wb') as filename:
# 7-接收服务器端发送过来的数据
tcp_recv = tcp_client_socket.recv(1024)
while True:
if tcp_recv !=0:
#
filename.write(tcp_recv)
print(tcp_recv)
else:
break
# 8-关闭链接
tcp_client_socket.close()