#-*-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()
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。