socket_传文件_linux环境
2018-12-22 17:34
134 查看
#-*-coding:utf-8-*- import socket,os server=socket.socket() server.bind(('localhost',6969)) #绑定要监听的端口 print("正在监听端口") server.listen(5) #监听 print("我要开始等电话了") while True: server.listen(3) conn, addr = server.accept() # 等电话打进来 阻塞状态 print(conn) # conn就是客户端连过来而在服务端为其生成的一个连接实例 print("电话来了") while True: data=conn.recv(1024) #通过conn连接实例接收数据 recv默认是阻塞的 print("recv:",data) if not data: print("client has lost...") break #客户端已断开,conn.recv收到的就是空数据 #res=os.popen(data).read() #conn.send(res) #通过conn连接实例发送数据 f=open("kvm-1.flv") data=f.read() print(len(data)) conn.sendall(data) server.close()
#-*-coding:utf-8-*- import socket client=socket.socket()#默认famliy=AF_INET(ipv4)地址簇 type=SOCK_STREAM (tcp/ip) 声明socket类型,同时生成socket连接对象 client.connect(("localhost",6969)) f=open("video.avi",'wb') while True: msg=raw_input("请输入:").strip() #不能发送空数据 if len(msg)==0:continue #如果msg长度为0,就继续 ,重新发 client.send(msg.encode("utf-8")) #3.x 只能发bytes类型数据,只能接收ASCII数据,汉字不行,要发汉字只能编码成utf-8格式 data=client.recv(102400) #收1024字节数据,每次最多收10M左右数据,官方建议8192字节 #print(data.decode("utf-8")) #bytes类型打印出来要解码 f.write(data) f.flush() client.close()
相关文章推荐
- Linux环境出现java.net.SocketException: 打开的文件过多错误
- Linux环境下Makefile文件制作浅谈(一)
- Linux 环境下 Makefile 文件制作浅谈(一)
- linux下socket传送文件
- Linux头文件和库文件添加环境变量与GCC编译器添加INCLUDE与LIB环境变量
- Linux学习---shell编程(04-环境变量配置文件)
- c语言socket简单聊天室基于linux环境
- Linux——环境变量配置文件的区别
- 4412环境搭建:arm-linux-gcc: 没有那个文件或目录
- linux 环境变量配置文件
- Linux环境配置文件 /etc/profile ~/.bash_profile ~/.bashrc /etc/bashrc的区别
- Linux 下环境变量配置文件
- linux环境开发工具之makefile文件
- Linux环境变量配置文件
- linux的环境变量文件enviroment 、profile、bashrc和.bashrc以及.bash_profile
- Linux下设置环境变量各配置文件的区别
- 结合xxx.cpp:(.text+0x55):对‘xxx’未定义的引用剖析Linux环境下动态库.so文件
- Linux环境下的Socket编程
- Linux环境下静态库的生成和使用 (.a文件)
- linux添加环境变量对/etc/profile文件进行修改过后导致命令用不了