Python爱好者 socket模块传输文件 -
Python爱好者 socket模块传输文件 -
socket模块传输文件
热度 1已有 32 次阅读2012-10-31 14:14 |个人分类:python| socket, 传送文件
分享到:在python中,socket 模块为开发人员提供了底层网络接口,开发人员可以用socket模块实现底层的基本网络通信。Socket 模块提供了 UNIX 程序员所熟悉的基本网络服务(也称为 BSD API)。这个模块中提供了在构建 socket 服务器和客户机时所需要的所有功能。
这个 API 与标准的 C API 之间的区别在于它是面向对象的。在C中,socket描述符是从socket调用中获得的,然后会作为一个参数传递给BSD API函数。在Python中,socket 方法会向应用socket方法的对象返回一个socket对象。
以下是一篇利用socket模块传输文件的代码:
客户端(发送文件):
#!/usr/bin/python
#coding=utf-8import socket
import thread
import wxclass Sender():
def __init__(self):
self.__s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)def setIP(self,ip):
self.__ip = ip
self.__s.connect((self.__ip,9807))def sendMsg(self,s):
self.__s.send(s)class MyFrame(wx.Frame):
def __init__(self,parent,id):
wx.Frame.__init__(self,parent,id,'聊天室客户端',size=(200,100))#实例化窗口
self.__p = wx.TextCtrl(self,pos = (10,10),size = (100,20)) #实例化文本框
self.__f = wx.TextCtrl(self,pos = (10,30),size = (100,20)) #实例化文本框
self.__p.SetValue('127.0.0.1')
#self.__m = wx.TextCtrl(self,pos = (10,60),size = (100,300))
l = wx.Button(self,label='连接',pos = (120,10),size = (50,20))#实例化按钮
b = wx.Button(self,label='发送',pos = (120,30),size = (50,20))#实例化按钮
self.Bind(wx.EVT_BUTTON, self.OnLog, l)
self.Bind(wx.EVT_BUTTON,self.OnSend,b)#绑定事件
self.__s = Sender()
def OnLog(self,event):
self.__s.setIP(self.__p.GetValue())def OnSend(self,event):#定义一个按钮事件
f = file(self.__f.GetValue(),'r')
self.__s.sendMsg(f.read())
f.close()class MyApp(wx.App): #定义wx.App的子类
def OnInit(self): #
frame = MyFrame()
frame.Show()
return Trueapp = wx.App()
app.MainLoop()服务器端(接收文件):
#!/usr/bin/python
#coding=utf-8
##@Author 张亚军
##@Date 2012-10-30import socket
import times = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind(('127.0.0.1',9807))#监听本地端口
s.listen(3)while True:
conn,addr = s.accept()
while True:
data = conn.recv(8192)
if not data:
break
f = file('D:\\data\\'+str(time.time())+'.txt','w')
f.write(data)
f.flush()
f.close()
print '成功's.close()
主要思想就是在客户端把文件读成字符串,发送到服务器端之后服务器把得到的字符串写入文件
转载于:https://www.cnblogs.com/lexus/archive/2013/01/03/2843349.html
Python爱好者 socket模块传输文件 -相关推荐
- python中socket模块常用吗_python中socket模块详解
socket模块简介 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket.socket通常被叫做"套接字",用于描述IP地址和端口,是一个通信 ...
- Python之glob模块进行文件匹配及遍历
Python之glob模块进行文件匹配及遍历 glob是python自带的一个操作文件的相关模块,用来查找符合特定规则的文件路径,是python处理文件路径相关问题中常用的包. glob 文件名模式匹 ...
- 三十八、网络通信Socket模块实现文件传输
@Author: Runsen 实现的效果如下的Gif所示,就是网络通信Socket模块实现文件下载传输. 文章目录 服务端 客户端 扩展 服务端 首先需要获取本机ip,这里服务端采用多线程的方法,就 ...
- python的socket模块_Python socket模块方法实现详解
这篇文章主要介绍了python socket模块方法实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 socket ssh (不带防止粘包的方 ...
- python中socket模块常用吗_python网络学习笔记——socket模块使用记录
此文章记录了笔者学习python网络中socket模块的笔记. 建议初次学习socket的读者先读一遍socket模块主要函数的介绍. socket模块的介绍可以参考笔者的前一篇关于socket官方文 ...
- python基础===socket模块的讲解(转)
一.网络知识的一些介绍 socket 是网络连接端点.例如当你的Web浏览器请求www.jb51.net上的主页时,你的Web浏览器创建一个socket并命令它去连接 www.jb51.net的Web ...
- python-socket模块介绍
基本的 Python socket 模块 Python 提供了两个基本的 socket 模块.第一个是 Socket,它提供了标准的 BSD Sockets API.第二个是 SocketServe ...
- 使用C++实现Socket编程传输文件
使用: (1)首先运行服务端,待服务端运行起来: (2)最后运行客户端,输入要传输文件到哪个目标机器的IP地址: (3)输入传输文件的路径及文件(完成的路径),其中包含文件的类型,也就是后缀需要包含( ...
- Python的os模块常用文件夹的增删改查详解
python常用os模块 增 os.makedirs("path\\目录") 用于递归创建目录 删 os.remove("path")用于删除指定路径(path ...
最新文章
- 独家 | 为你的数据科学项目提供有力支撑——3个寻找数据集的最佳网站
- MixNet了解一下,来自Google Brain最新SOTA移动AI架构
- C# 从DataSet导出到Excel
- 初学Java的5个阶段,你在哪个阶段?
- 皇室战争:渔夫化身“战场搅屎棍”,见人就拉,选卡很关键
- CRM Fiori Simulation pipeline应用点了bubble控件的实现
- 【CodeForces - 298C】Parity Game (思维,有坑)
- htmlentities在mysql_PHP和mySQL:何时确切使用htmlentities?
- IDC:今年全球认知和人工智能系统支出将突破125亿美元
- 利用sdkman安装kotlin和java环境
- web表格增删改_白话django之数据的增删改
- [bzoj4826][Hnoi2017]影魔
- 大厂阿里程序员的薪资:简述阿里的薪酬体系和职级
- java计费系统_Java网吧计费系统
- 时区缩写与UTC(GMT)时差对照表
- KafKa 开启 SASL 验证
- 在tensorflow框架下添加正则化约束l1、l2的方法
- Core Dump技术介绍
- python“反反爬虫”
- for_each 解读
热门文章
- homework-08
- SwiftUI中如何使用App Tracking Transparency Framework
- 泰坦科技MT4平台搭建提供一站式白标方案 快速开启外汇经纪业务
- 信贷风险定价怎么做?
- loadrunner的吞吐量和吞吐率
- sql数据库连接:用户‘sa’登录失败问题破解(百度加个人总结)
- 20分 html文件是,HTML语言试卷(A)
- python(2)带解析和要点
- matlab中单独存图_奇怪的Matlab画图技巧系列1–保存高清大图
- java设计九宫格拼图软件哪个好用_九宫格拼图软件下载_抖音很火的九宫格拼图软件app下载_易玩网...