长理培训真题库
我的
军队文职考试一本通

如何使用tcp实现局域网内文件传输

2020-01-21 10:51
具体功能: 可以利用 python 创建的 TCP 客户端从我们自己搭建的 TCP 服务器上下 载文件。 实现需求: 安装 socket 模块 简单了解 sokcet 模块用法 服务器代码如下: import socket def file_deal(file_name): # 定义函数用于处理用户索要下载的文件 try: # 二进制方式读取 files = open(file_name, "rb") mes = files.read() except: print("没有该文件") else: files.close() return mes def main(): # 创建套接字 tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 固定端口号 tcp_socket.bind(("",8888)) # 将主动套接字转为被动套接字 tcp_socket.listen(128) while True: # 利用 accept 获取分套接字以及客户端的地址 client_socket,client_addr = tcp_socket.accept() # 接收客户端的数据 file_name = client_socket.recv(4096) # 调用函数处理用户下载的文件 mes = file_deal(file_name) if mes: # 如果文件不为空发送 client_socket.send(mes) #关闭分套接字 client_socket.close() if __name__ == "__main__": main() import socket def file_deal(file_name): # 定义函数用于处理用户索要下载的文件 try: # 二进制方式读取 files = open(file_name, "rb") mes = files.read() except: print("没有该文件") else: files.close() return mes def main(): # 创建套接字 tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 固定端口号 tcp_socket.bind(("",8888)) # 将主动套接字转为被动套接字 tcp_socket.listen(128) while True: # 利用 accept 获取分套接字以及客户端的地址 client_socket,client_addr = tcp_socket.accept() # 接收客户端的数据 file_name = client_socket.recv(4096) # 调用函数处理用户下载的文件 mes = file_deal(file_name) if mes: # 如果文件不为空发送 client_socket.send(mes) #关闭分套接字 client_socket.close() if __name__ == "__main__": main() 客户端代码: from socket import * import os def main(): # 建立套接字 tcp_socket = socket(AF_INET, SOCK_STREAM) # 接收用输入的服务器端的 ip 和端口 tcp_ip = input("请输入 ip:") tcp_port = int(input("请输入端口:")) # 连接服务器 tcp_socket.connect((tcp_ip, tcp_port)) # 输入要下载的文件名 file_name = input("请输入要下载的文件名:") # 将文件名发送至服务器端 tcp_socket.send(file_name.encode()) # 创建一个空文件 new_file = open(file_name, "wb") # 用与计算读取的字节数 time = 0 while True: # 接收服务器端返回的内容 mes = tcp_socket.recv(4096) # 如果内容不为空执行 if mes: # 解码并向文件内写入 new_file.write(mes.decode()) # 计算字节 time += len(mes) else: # 如果字节数为空即未收到内容 if time == 0: # 关闭文件 new_file.close() # 删除刚刚创建的文件 os.remove(file_name) print("没有您要下载的文件") else: # 如过 time 有值时 name 文件传输完成 print("文件下载成功") break # 关闭套接字 tcp_socket.close() if __name__ == '__main__': main() 补充:局域网、校园网安全维护方法 校园网络分为内网和外网,就是说他们可以上学校的内网也可以同时上 互联网,大学的学生平时要玩游戏购物,学校本身有自己的服务器需要维护; 在大环境下,首先在校园网之间及其互联网接入处,需要设置防火墙设 备,防止外部攻击,并且要经常更新抵御外来攻击; 由于要保护校园网所有用户的安全,我们要安全加固,除了防火墙还要 增加如 ips,ids 等防病毒入侵检测设备对外部数据进行分析检测,确保校园 网的安全; 外面做好防护措施,内部同样要做好防护措施,因为有的学生电脑可能 带回家或者在外面感染,所以内部核心交换机上要设置 vlan 隔离,旁挂安全 设备对端口进行检测防护; 内网可能有 ddos 攻击或者 arp 病毒等传播,所以我们要对服务器或者 电脑安装杀毒软件,特别是学校服务器系统等,安全正版安全软件,保护重 要电脑的安全; 对服务器本身我们要安全 server 版系统,经常修复漏洞及更新安全软件, 普通电脑一般都是拨号上网,如果有异常上层设备监测一般不影响其他电脑 。 做好安全防范措施,未雨绸缪。
温馨提示:当前文档最多只能预览 2 页,此文档共4 页,请下载原文档以浏览全部内容。如果当前文档预览出现乱码或未能正常浏览,请先下载原文档进行浏览。
如何使用tcp实现局域网内文件传输 第 1 页如何使用tcp实现局域网内文件传输 第 2 页

下载提示

1 该文档不包含其他附件(如表格、图纸),本站只保证下载后内容跟在线阅读一样,不确保内容完整性,请务必认真阅读

2 除PDF格式下载后需转换成word才能编辑,其他下载后均可以随意编辑修改

3 有的标题标有”最新”、多篇,实质内容并不相符,下载内容以在线阅读为准,请认真阅读全文再下载

4 该文档为会员上传,版权归上传者负责解释,如若侵犯你的隐私或权利,请联系客服投诉

最近更新

热门排行