激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

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

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

服務器之家 - 腳本之家 - Python - python3實現(xiàn)TCP協(xié)議的簡單服務器和客戶端案例(分享)

python3實現(xiàn)TCP協(xié)議的簡單服務器和客戶端案例(分享)

2020-11-17 00:41腳本之家 Python

下面小編就為大家?guī)硪黄猵ython3實現(xiàn)TCP協(xié)議的簡單服務器和客戶端案例(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

利用python3來實現(xiàn)TCP協(xié)議,和UDP類似。UDP應用于及時通信,而TCP協(xié)議用來傳送文件、命令等操作,因為這些數據不允許丟失,否則會造成文件錯誤或命令混亂。下面代碼就是模擬客戶端通過命令行操作服務器。客戶端輸入命令,服務器執(zhí)行并且返回結果。

TCP(Transmission Control Protocol 傳輸控制協(xié)議):是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議,由IETF的RFC 793定義。

TCP客戶端

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from socket import *
 
host = '192.168.48.128'
port = 13141
addr = (host,port)
bufsize=1024
 
tcpClient = socket(AF_INET,SOCK_STREAM) # 這里的參數和UDP不一樣。
tcpClient.connect(addr) #由于tcp三次握手機制,需要先連接
 
while True:
  data = input('>>> ').encode(encoding="utf-8")
  if not data:
    break
  # 數據收發(fā)和UDP基本一致
  tcpClient.send(data)
  data = tcpClient.recv(bufsize).decode(encoding="utf-8")
  print(data)
 
tcpClient.close()

TCP客戶端

?
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
from socket import *
from time import ctime
import os
 
host = ''
port = 13140
bufsize = 1024
addr = (host,port)
 
tcpServer = socket(AF_INET,SOCK_STREAM)
tcpServer.bind(addr)
tcpServer.listen(5) #這里設置監(jiān)聽數為5(默認值),有點類似多線程。
 
while True:
  print('Waiting for connection...')
  tcpClient,addr = tcpServer.accept() #拿到5個中一個監(jiān)聽的tcp對象和地址
  print('[+]...connected from:',addr)
 
  while True:
    cmd = tcpClient.recv(bufsize).decode(encoding="utf-8")
    print('  [-]cmd:',cmd)
    if not cmd:
      break
    ###這里在cmd中執(zhí)行來自客戶端的命令,并且將結果返回###
    cmd = os.popen(cmd) ###os.popen(cmd)對象是file對象子類,所以可以file的方法
    cmdResult = cmd.read()
    cmdStatus = cmd.close()
    #################################################
    data = cmdResult if (not cmdStatus) else "ERROR COMMAND"
    tcpClient.send(data.encode(encoding="utf-8"))
 
  tcpClient.close() #
  print(addr,'End')
tcpServer.close() #兩次關閉,第一次是tcp對象,第二次是tcp服務器

以上這篇python3實現(xiàn)TCP協(xié)議的簡單服務器和客戶端案例(分享)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 粉嫩一区 | 亚州成人在线观看 | 欧美精品一区二区久久 | 亚洲一区二区三区视频免费 | 一级做a爰片性色毛片2021 | 欧美色爱综合 | 成人午夜免费国产 | 中文字幕激情 | 久久精国 | 国产一区二区三区四区五区在线 | 法国性经典xxxhd| 国产午夜精品一区二区三区免费 | 黄色高清av | 久久国产91 | 久久亚色| 91精品国产一区二区在线观看 | 国产午夜免费福利 | 亚洲免费观看视频 | 成人精品一区二区 | 中文字幕免费在线看 | 全黄裸片武则天艳史 | 精品国产专区 | 99热1 | 亚洲综合中文 | 欧美综合成人 | 成人在线观看一区二区三区 | 免费看黄色三级毛片 | 欧美黄色视屏 | 在线成人免费观看 | 国产一区二区三区视频观看 | 在线天堂中文字幕 | 中文字幕在线观看成人 | 91性高湖久久久久久久久网站 | 性生活香蕉视频 | 精品无码一区在线观看 | 欧美视频网 | 曰韩一二三区 | 97精品视频在线观看 | 久草导航| 亚洲人成网站免费播放 | 在线播放中文 |