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设计】。

相关文章

python实现redis三种cas事务操作

cas全称是compare and set,是一种典型的事务操作。 简单的说,事务就是为了存取数据库中同一数据时不破坏操作的隔离性和原子性,从而保证数据的一致性。 一般数据库,比如M...

python写一个md5解密器示例

python写一个md5解密器示例

前言: md5解密,百度了一下发现教程不是很多也不详细。 这个图都没一张。。。 0x01 windows环境,kali也可以啊 burpsuite requests模块 bs4模块 0...

Python的迭代器和生成器

先说迭代器,对于string、list、dict、tuple等这类容器对象,使用for循环遍历是很方便的。在后台for语句对容器对象调用iter()函数,iter()是python的内置...

用Python展示动态规则法用以解决重叠子问题的示例

用Python展示动态规则法用以解决重叠子问题的示例

动态规划是一种用来解决定义了一个状态空间的问题的算法策略。这些问题可分解为新的子问题,子问题有自己的参数。为了解决它们,我们必须搜索这个状态空间并且在每一步作决策时进行求值。得益于这类问...

Python中Collection的使用小技巧

本文所述实例来自独立软件开发者 Alex Marandon,在他的博客中曾介绍了数个关于 Python Collection 的实用小技巧,在此与大家分享。供大家学习借鉴之用。具体如下:...