您好,登錄后才能下訂單哦!
#-*-coding:utf-8-*-
import socket,os
server=socket.socket()
server.bind(('localhost',6969)) #綁定要監(jiān)聽的端口
print("正在監(jiān)聽端口")
server.listen(5) #監(jiān)聽
print("我要開始等電話了")
while True:
server.listen(3)
conn, addr = server.accept() # 等電話打進來
print(conn) # conn就是客戶端連過來而在服務(wù)端為其生成的一個連接實例
print("電話來了")
while True:
data=conn.recv(1024) #通過conn連接實例接收數(shù)據(jù)
print("recv:",data)
if not data:
print("client has lost...")
break
res=os.popen(data).read()
conn.send(res) #通過conn連接實例發(fā)送數(shù)據(jù) send根據(jù)系統(tǒng)緩存大小,一般32K
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))
while True:
msg=raw_input("請輸入:").strip() #不能發(fā)送空數(shù)據(jù)
if len(msg)==0:continue #如果msg長度為0,就繼續(xù) ,重新發(fā)
client.send(msg.encode("utf-8")) #3.x 只能發(fā)bytes類型數(shù)據(jù),只能接收ASCII數(shù)據(jù),漢字不行,要發(fā)漢字只能編碼成utf-8格式
data=client.recv(102400) #收102400字節(jié)數(shù)據(jù)
print(data.decode("utf-8")) #bytes類型打印出來要解碼
client.close()
#import os
#>>> a=os.popen("df")
#>>> b=os.popen("df").read()
#>>> print(b)
import os
a=os.popen("ipconfig") #命令的執(zhí)行結(jié)果通過管道輸出,執(zhí)行的結(jié)果生成是一個對象
print(a)
b=a.read() #命令的執(zhí)行結(jié)果通過管道輸出,并把輸出的結(jié)果通過read讀出來
print(b)
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。