python之網路程式設計

2021-08-18 22:06:09 字數 1424 閱讀 2439

用python寫了乙個簡單的socket程式設計demo,記錄一下。主要實現在客戶端傳送linux指令,在伺服器端執行後返回執行結果,**比較簡單,所以就不多加贅述了。

服務端:

#!/usr/bin/python

# -*- coding: utf-8 -*-

import socket, os

host = ''

port = 8888

buf_size = 1024

server_s = socket.socket(socket.af_inet,socket.sock_stream)

server_s.bind((host, port))

server_s.listen(5)

def execmd(cmd):

p = os.popen(cmd)

result = p.read()

code = p.close()

return result, code

while true:

print('等待連線。。。')

listen_s, addr = server_s.accept()

print('連線ip:', addr)

while true:

cmd = listen_s.recv(buf_size)

if not cmd:

break

result,code = execmd(cmd)

if not code:

slisten_s.send(result.encode())

else:

listen_s.send('error!!!')

listen_s.close()

server_s.close()

客戶端:

#!/usr/bin/python

# -*- coding: utf-8 -*-

import socket

host = '192.168.13.2'

port = 8888

buf_size = 1024

client_s = socket.socket(socket.af_inet,socket.sock_stream)

client_s.connect((host,port))

print('連線成功!')

while true:

cmd = input('輸入指令:')

if not cmd:

break

client_s.send(cmd.encode())

result = client_s.recv(buf_size).decode()

print("執行結果:", result)

client_s.close()

python之網路程式設計

埠port由來 ip位址主要是確定網路上某個具體的主機具體資料通訊主要是通過工作在計算機中的軟體執行。當主機a向主機b傳送資訊時,具體會由主機b上哪個程式接收呢,由此計算機出現了埠port的概念,埠port主要用於區別不同軟體的通訊渠道,用於正確的將資料通過制定的埠渠道傳輸給對應的軟體。因此ip位址...

Python筆記之網路程式設計

1,學習這部分,應先了解一下osi 7層模型,tcp ip四層,socket套接字等網路相關知識點。python網路庫,urllib,urllib2,後者功能更強大一些。import urllib2 import urllib html response.read print html 還有smtp...

Python之socket網路程式設計

實現主機間或一台電腦上的程序間進行通訊 例項如下 服務端 匯入socket sys模組 import socket import sys 建立socket物件 serversocket socket.socket socket.af inet,socket.sock stream 獲取本地主機名 h...