您好,登錄后才能下訂單哦!
#-*-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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。