资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

socket_传文件_linux环境

#-*-coding:utf-8-*-
importsocket,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 notdata:
           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-*-
importsocket
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() #不能发送空数据
   
iflen(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()

当前标题:socket_传文件_linux环境
分享URL:http://www.cdkjz.cn/article/goegej.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220