python3.5基于TCP实现文件传输

yipeiwu_com6年前Python基础

本文实例为大家分享了python3.5基于TCP实现文件传输的具体代码,供大家参考,具体内容如下

服务器代码

# _*_ coding:utf-8 _*_

from socket import *
import _thread

def tcplink(skt,addr):
  print(skt)
  print(addr,"已经连接上...")
  print('开始发送文件')
  with open('./ww.jpg', 'rb') as f:
    for data in f:
      print(data)
      skt.send(data)
  f.close()
  skt.close()


HOST = "127.0.0.1"
PORT = 23333
ADDR = (HOST,PORT)

server = socket(AF_INET,SOCK_STREAM)
server.bind(ADDR)
server.listen(5)

while True:
  print("等待连接...")
  skt,addr = server.accept()
  print(skt)
  try:
    _thread.start_new_thread(tcplink,(skt,addr))
  except:
    print("线程无法启动")
server.close()

客户端代码

# _*_ utf-8 _*_

from socket import *

HOST = "127.0.0.1"
PORT = 23333
ADDR = (HOST,PORT)

client = socket(AF_INET,SOCK_STREAM)
client.connect(ADDR)

with open("./gg.jpg","ab") as f:
  while True:
    data = client.recv(1024)
    if not data:
      break;
    f.write(data)

f.close()
print("接收完毕")
client.close()

上面的代码都经过测试能正常运行,希望大家能有所启发。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

VSCode中自动为Python文件添加头部注释

VSCode中自动为Python文件添加头部注释

在实际编写Python文件时,往往需要为文件添加相关说明,例如文件名称、文件作用、创建时间、作者信息、版本号等等。这些信息往往是固定模板的,因此希望有一种方式可以自动的为我们添加上这些信...

Python数据库小程序源代码

源代码: # dict1 是 字典 , 用来对应相应元素的下标,我们将文件转成列表,对应的也就是文件的下标,通过下标来找文件元素 dict1 = {'sort':0 , 'name...

Python 实现数据库更新脚本的生成方法

我在工作的时候,在测试环境下使用的数据库跟生产环境的数据库不一致,当我们的测试环境下的数据库完成测试准备更新到生产环境上的数据库时候,需要准备更新脚本,真是一不小心没记下来就会忘了改了哪...

简单介绍Python的Django框架加载模版的方式

一般说来,你会把模板以文件的方式存储在文件系统中,但是你也可以使用自定义的 template loaders 从其他来源加载模板。 Django有两种方法加载模板  &n...

python中self原理实例分析

本文实例讲述了python中self原理。分享给大家供大家参考。具体分析如下: 类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称,但是在调用这个方法的时候你不...