服務端
#view code#sock_server_ssh
import
socket,os
server =socket.socket()
server.bind((
'localhost
',9999))
server.listen()
while
true:
print("
接收新指令")
conn,addr =server.accept()
print("
new conn:
",addr)
while
true:
data = conn.recv(1024)
ifnot
data:
print("
客戶端已斷開")
break
print("
執行指令:
",data)
cmd_res = os.popen(data.decode()).read()#
接受字串,執行結果也是字串
print("
before send
",len(cmd_res))
if len(cmd_res) ==0:
cmd_res = "
cmd has no output...
"conn.send(str(len(cmd_res)).encode(
"utf-8
"))#
先發大小給客戶端
conn.send(cmd_res.encode("
utf-8"))
print("
send done")
server.close()
客戶端
1view code##socket_server_client23
import
socket
4 client =socket.socket()
5 client.connect(("
localhost
",9999))67
while
true:
8 cmd = input("
>>:
").strip()
9if len(cmd) ==0:continue
10 client.send(cmd.encode('
utf-8'))
11 cmd_res_size = client.recv(1024)#
接收命令結果的長度
12print("
命令結果大小:
",cmd_res_size)
13 received_size =014#
received_data = b''
15while received_size
1617 data = client.recv(1024)
18 received_size += len(data)#
每次收到的有可能小於1024,所以必須用len判斷19#
print(data.decode())
20print
(received_size)
21else:22
print("
cmd res receive done...
",received_size)
2324
#cmd_res = client.recv(1024)
2526
#print(cmd_res)
2728 client.close()
python 網路程式設計學習 套接字socket
以前也學過套接字程式設計,這次想系統全面的學習下python網路程式設計的使用。做這個,為檢測進度,也為後續留下筆記和足跡。socket 常用函式 socket.gethostname socket.gethostbyname import socket host socket.gethostnam...
Python網路程式設計學習筆記一 socket模組
coding utf 8 主要測試python網路程式設計中socket模組的使用 涉及到的技術點 套接字 面向連線的還有非面向連線套接字 tcp面向連線 udp非面向連線 1 匯入socket 2 建立socket socket三要素 1 socket family,2 socket type 3...
Python學習之路
python 十分鐘入門 python 菜鳥教程 pycharm安裝numpy python 檔案讀取 with open xml path,r as fr content fr.read python讀取檔案時提示 unicodedecodeerror gbk codec can t decode...