客戶端連線伺服器後,可以向伺服器傳送命令
伺服器收到命令後執行,無論執行是否成功,無論執行幾遍,都將執行結果返回給客戶端
注意: 執行系統指令使用subprocess模組完成.
服務端
from socket import *
import subprocess
server=socket(af_inet,sock_dgram)
server.bind(('127.0.0.1',9003))
while true:
#收訊息
cmd,addr=server.recv(1024)
print('使用者命令----->',cmd)
#邏輯處理
res=subprocess.popen(cmd.decode('utf-8'),shell=true,stderr=subprocess.pipe,stdin=subprocess.pipe,stdout=subprocess.pipe)
stderr=res.stderr.read()
stdout=res.stdout.read()
#發訊息
server.sendto(stderr,addr)
server.sendto(stdout,addr)
server.close()
客戶端
from socket import *
client=socket(af_inet,sock_dgram)
while true:
msg=input('>>: ').strip()
client.sendto(msg.encode('utf-8'),('127.0.0.1',9003))
data,addr=client.recv(1024)
print(data.decode('utf-8'),end='')
每日演算法 day 26
那些你早出晚歸付出的刻苦努力,你不想訓練,當你覺的太累了但還是要咬牙堅持的時候,那就是在追逐夢想,不要在意終點有什麼,要享受路途的過程,或許你不能成就夢想,但一定會有更偉大的事情隨之而來。mamba out 2020.3.11 dp 做法 之前卡特蘭數感覺挺懵得 也沒學到 還是等之後學數論得時候專門...
Day 26 判斷子串行
給定字串 s 和 t 判斷 s 是否為 t 的子串行。你可以認為 s 和 t 中僅包含英文小寫字母。字串 t 可能會很長 長度 500,000 而 s 是個短字串 長度 100 字串的乙個子串行是原始字串刪除一些 也可以不刪除 字元而不改變剩餘字元相對位置形成的新字串。例如,ace 是 abcde ...
day26 網路程式設計
day26授課目錄 b 網路程式設計 tcp 面向連線 三次握手 資料安全,速度略低。分為客戶端和服務端。通訊的兩端都有socket。網路通訊其實就是socket間的通訊。資料在兩個socket間通過io流傳輸。socket在應用程式中建立,通過一種繫結機制與驅動程式建立關係,告訴自己所對應的ip和...