您好,登錄后才能下訂單哦!
#-*-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連接實例接收數據
print("recv:",data)
if not data:
print("client has lost...")
break
res=os.popen(data).read()
conn.send(res) #通過conn連接實例發送數據 send根據系統緩存大小,一般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() #不能發送空數據
if len(msg)==0:continue #如果msg長度為0,就繼續 ,重新發
client.send(msg.encode("utf-8")) #3.x 只能發bytes類型數據,只能接收ASCII數據,漢字不行,要發漢字只能編碼成utf-8格式
data=client.recv(102400) #收102400字節數據
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") #命令的執行結果通過管道輸出,執行的結果生成是一個對象
print(a)
b=a.read() #命令的執行結果通過管道輸出,并把輸出的結果通過read讀出來
print(b)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。