国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python網絡編程 Python套接字編程

Python網絡編程 Python套接字編程

2020-12-08 00:15Lockeyi Python

這篇文章主要為大家詳細介紹了Python網絡編程的相關資料,Python套接字編程,具有一定的參考價值,感興趣的小伙伴們可以參考一下

Python 提供了兩個級別訪問的網絡服務。

低級別的網絡服務支持基本的 Socket,它提供了標準的 BSD Sockets API,可以訪問底層操作系統Socket接口的全部方法。
高級別的網絡服務模塊 SocketServer, 它提供了服務器中心類,可以簡化網絡服務器的開發。

什么是 Socket?

Socket又稱”套接字”,應用程序通常通過”套接字”向網絡發出請求或者應答網絡請求,使主機間或者一臺計算機上的進程間可以通訊。

socket()函數

Python 中,我們用 socket()函數來創建套接字,語法格式如下:

socket.socket([family[, type[, proto]]])

參數

family: 套接字家族可以使AF_UNIX或者AF_INET
type: 套接字類型可以根據是面向連接的還是非連接分為SOCK_STREAM或SOCK_DGRAM
protocol: 一般不填默認為0.

socket實現服務端與客戶端的簡單通信(模擬ssh的部分功能以及自動應答)

server端的簡單程序示例:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/usr/bin/env python
#coding:utf-8
'''
file:server.py
date:9/8/17 3:43 PM
author:lockey
email:lockey@123.com
desc:socket編程服務器端,python3.6.2
'''
import re
import socket,time,os
s = socket.socket()   # 創建 socket 對象
host = '127.0.0.1'#socket.gethostname() # 獲取本地主機名
port = 9999    # 設置端口
s.bind((host, port))  # 綁定端口
s.listen(5)     # 等待客戶端連接
while True:
 conn, addr = s.accept()  # 建立客戶端連接。
 print('conneted address:'.decode('utf-8'), addr)#顯示連接到服務器的客戶端的地址
 while True:
  data = conn.recv(1024)
  #接收到的客戶端的請求或者返回
  if not data:
  #當返回信息為空或者請求為空時斷開客戶端連接
   print('Connection closed!')
   break;
 data = data.decode('utf-8')
 #以下前三個條件都是設置的自動檢測應答,最后一個是根據輸入的內容進行的命令執行,并將結果返回給客戶端
  if re.findall(r'who',data):
   reply = 'I am lockey'.encode('utf-8')
  elif re.findall(r'gender',data):
   reply = 'A boy'.encode('utf-8')
  elif re.findall(r'age',data):
   reply = '23'.encode('utf-8')
  else:
   print('execute com:',data)
   cmd_res = os.popen(data).read()
   if not cmd_res:
   #對于命令的執行如果沒有返回值的話就給客戶端發送一條信息
    conn.send('No response'.encode('utf-8'))
    continue
   reply = cmd_res.encode('utf-8')
 conn.send(reply)
 #將結果發送給客戶端

client端的簡單實現:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/usr/bin/env python
#coding:utf-8
'''
file:client.py
date:9/8/17 3:43 PM
author:lockey
email:lockey@123.com
desc:socket編程客戶端,python3.6.2
'''
import socket,time    # 導入 socket 模塊
 
s = socket.socket()   # 創建 socket 對象
host = '127.0.0.1'#socket.gethostname() # 獲取本地主機名
port = 9999    # 設置端口好
 
s.connect((host, port))
while True:
 cmd = input("lockey#")
 #用戶輸入
 if len(cmd) == 0:continue
 #如果用戶未輸入內容則繼續下一次輸入
 s.send(cmd.encode('utf-8'))
 #將用戶輸入的內容發送給客戶端等待結果
 result = s.recv(1024)
 if not result:
 #如果服務端沒有返回結果則繼續下一次輸入
  continue
 print(result.decode('utf-8'))
 #如果服務端有返回則打印結果
s.close()
#用戶終止程序時關閉連接

服務器端運行結果

Python網絡編程 Python套接字編程

客戶端運行截圖

Python網絡編程 Python套接字編程

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://blog.csdn.net/Lockey23/article/details/77914222

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 欧美在线亚洲 | 国产在线a | 欧美精三区欧美精三区 | 视频在线一区 | 黄色在线免费 | 亚洲一区二区三区高清 | 亚洲精品乱码久久久久久金桔影视 | 人人99 | 成人午夜精品一区二区三区 | 欧美日韩精品一区二区在线观看 | 日韩免费视频一区二区 | 国产嫩草91| 国产乱叫456 | 亚洲一区二区av | 日韩大片播放器 | 男人午夜视频在线观看 | 久久久av亚洲男天堂 | av黄色网| 国产日韩欧美高清 | 亚洲视频综合 | 影音先锋中文字幕一区 | 久久中文字幕在线 | 亚洲精品一区 | 欧美日韩中 | 黄色片视频免费 | 精品视频在线播放 | 韩日一区二区三区 | 亚洲一区中文字幕在线观看 | 无码日韩精品一区二区免费 | 国产精品久久久久久久 | 亚洲专区国产精品 | 日本v在线观看 | 欧美激情在线播放 | 色综合久 | 国产激情久久久久久 | 国产精品综合 | 亚洲高清久久 | 欧美日韩一区二区三区在线观看 | 久久综合久久综合久久 | 欧美日韩国产影院 | 欧美国产精品一区二区 |