最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2017年06月14日 08:49:15   投稿:jingxian  
下面小編就為大家?guī)硪黄猵ython3實(shí)現(xiàn)TCP協(xié)議的簡單服務(wù)器和客戶端案例(分享)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

利用python3來實(shí)現(xiàn)TCP協(xié)議,和UDP類似。UDP應(yīng)用于及時(shí)通信,而TCP協(xié)議用來傳送文件、命令等操作,因?yàn)檫@些數(shù)據(jù)不允許丟失,否則會(huì)造成文件錯(cuò)誤或命令混亂。下面代碼就是模擬客戶端通過命令行操作服務(wù)器??蛻舳溯斎朊睿?wù)器執(zhí)行并且返回結(jié)果。

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

TCP客戶端

from socket import *

host = '192.168.48.128'
port = 13141
addr = (host,port)
bufsize=1024

tcpClient = socket(AF_INET,SOCK_STREAM) # 這里的參數(shù)和UDP不一樣。
tcpClient.connect(addr) #由于tcp三次握手機(jī)制,需要先連接

while True:
  data = input('>>> ').encode(encoding="utf-8")
  if not data:
    break
  # 數(shù)據(jù)收發(fā)和UDP基本一致
  tcpClient.send(data) 
  data = tcpClient.recv(bufsize).decode(encoding="utf-8") 
  print(data)

tcpClient.close()

TCP客戶端

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) #這里設(shè)置監(jiān)聽數(shù)為5(默認(rèn)值),有點(diǎn)類似多線程。

while True:
  print('Waiting for connection...')
  tcpClient,addr = tcpServer.accept() #拿到5個(gè)中一個(gè)監(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í)行來自客戶端的命令,并且將結(jié)果返回###
    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() #兩次關(guān)閉,第一次是tcp對象,第二次是tcp服務(wù)器

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

相關(guān)文章

  • Python實(shí)現(xiàn)Kerberos用戶的增刪改查操作

    Python實(shí)現(xiàn)Kerberos用戶的增刪改查操作

    這篇文章主要介紹了Python實(shí)現(xiàn)Kerberos用戶的增刪改查操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • python實(shí)現(xiàn)錄制全屏和選擇區(qū)域錄屏功能

    python實(shí)現(xiàn)錄制全屏和選擇區(qū)域錄屏功能

    這篇文章主要介紹了python實(shí)現(xiàn)錄制全屏和選擇區(qū)域錄屏功能,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • python創(chuàng)建文件時(shí)去掉非法字符的方法

    python創(chuàng)建文件時(shí)去掉非法字符的方法

    今天小編就為大家分享一篇python創(chuàng)建文件時(shí)去掉非法字符的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • Python如何統(tǒng)計(jì)函數(shù)調(diào)用的耗時(shí)

    Python如何統(tǒng)計(jì)函數(shù)調(diào)用的耗時(shí)

    這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)統(tǒng)計(jì)函數(shù)調(diào)用的耗時(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-04-04
  • 15個(gè)應(yīng)該掌握的Jupyter Notebook使用技巧(小結(jié))

    15個(gè)應(yīng)該掌握的Jupyter Notebook使用技巧(小結(jié))

    這篇文章主要介紹了15個(gè)應(yīng)該掌握的Jupyter Notebook使用技巧(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • pandas帶有重復(fù)索引操作方法

    pandas帶有重復(fù)索引操作方法

    今天小編就為大家分享一篇pandas帶有重復(fù)索引操作方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • pandas如何統(tǒng)計(jì)某一列或某一行的缺失值數(shù)目

    pandas如何統(tǒng)計(jì)某一列或某一行的缺失值數(shù)目

    這篇文章主要介紹了pandas如何統(tǒng)計(jì)某一列或某一行的缺失值數(shù)目,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Python編寫一個(gè)優(yōu)美的下載器

    Python編寫一個(gè)優(yōu)美的下載器

    這篇文章主要教大家如何使用Python編寫一個(gè)優(yōu)美的下載器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • pycharm 使用心得(一)安裝和首次使用

    pycharm 使用心得(一)安裝和首次使用

    PyCharm 是我用過的python編輯器中,比較順手的一個(gè)。而且可以跨平臺,在macos和windows下面都可以用,這點(diǎn)比較好。
    2014-06-06
  • django從請求到響應(yīng)的過程深入講解

    django從請求到響應(yīng)的過程深入講解

    這篇文章主要給大家介紹了關(guān)于django從請求到響應(yīng)的過程的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用django具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-08-08

最新評論

陇南市| 隆回县| 钦州市| 中西区| 福泉市| 太仓市| 峨山| 潜江市| 永安市| 四会市| 工布江达县| 德庆县| 长汀县| 长宁区| 天全县| 景宁| 新沂市| 永康市| 商河县| 台北县| 扶绥县| 准格尔旗| 白朗县| 秦皇岛市| 祁阳县| 宜兰市| 邛崃市| 广元市| 甘孜县| 洪泽县| 莲花县| 斗六市| 和平区| 双鸭山市| 柯坪县| 宁远县| 卓尼县| 绥德县| 门头沟区| 囊谦县| 连江县|