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

Python網(wǎng)絡(luò)編程之TCP套接字簡單用法示例

 更新時間:2018年04月09日 10:47:54   作者:jiange_zh  
這篇文章主要介紹了Python網(wǎng)絡(luò)編程之TCP套接字簡單用法,結(jié)合實例形式分析了TCP套接字的功能及客戶端、服務(wù)器端具體實現(xiàn)方法,需要的朋友可以參考下

本文實例講述了Python網(wǎng)絡(luò)編程之TCP套接字簡單用法。分享給大家供大家參考,具體如下:

上學期學的計算機網(wǎng)絡(luò),因為之前還未學習python,而java則一知半解,C寫起來又麻煩,所以一直都沒有真正實現(xiàn)過TCP套接字編程。

最近學習了python,而用它來寫套接字又十分方便簡單,所以當然要試一試咯。

下面根據(jù)代碼來介紹一下最簡單的tcp程序,由客戶端輸入數(shù)據(jù),發(fā)送給服務(wù)器,服務(wù)器加上時間后返回給客戶端

#!/usr/bin/python
'test TCP server'
from socket import *  #套接字所需要的模塊
from time import ctime  #時間模塊
HOST = ''  #主機名,為空,表示可以綁定在任何有效的地址上。
PORT = 21567  #隨機選的可用端口
BUFSIZ = 1024  #發(fā)送數(shù)據(jù)的緩沖區(qū)
ADDR = (HOST, PORT)
tcpSerSock = socket(AF_INET, SOCK_STREAM)  #第一個參數(shù)是socket_family,此處用常用的AF_INET,第二個參數(shù)是流套接字,即創(chuàng)建的是tcp
tcpSerSock.bind(ADDR)  #套接字與地址綁定
tcpSerSock.listen(5)  #開始監(jiān)聽,參數(shù)表示允許的最大連接數(shù)
while True:
  print 'waiting for connection...'
  tcpCliSock, addr = tcpSerSock.accept()  #打開大門等待客人,accept返回一個元組(connection,address)。第一個元素是新的socket對象,服務(wù)器必須通過它與客戶通信;第二個是客戶的地址。
  print '...connected from:',addr
  while True:
    data = tcpCliSock.recv(BUFSIZ)  #洗耳恭聽,把客人的話記錄到data中
    if not data:  #客人話說完了,送客
      break
    tcpCliSock.send('[%s] %s' %(ctime(), data))  #發(fā)送當前時間,以及數(shù)據(jù)給客人
  tcpCliSock.close()  #送客,關(guān)閉與該客人通信的套接字
tcpSerSock.close()  #因為上面是死循環(huán),此處不是必須的,只是提醒大家離開的時候務(wù)必要關(guān)門!

上面用到了兩個套接字,第一個tcpSerSock稱為歡迎套接字,第二個tcpCliSock才是真正負責與客戶端通信的套接字,這樣做的好處是,一個服務(wù)器可以同時接待多個客人。

下面則是客戶端的代碼,非常簡單:

#!/usr/bin/python
'test tcp client'
from socket import *
HOST = 'localhost'  #因為我是在同一臺機器上運行,所以是localhost,不同主機的話,此處需要改成服務(wù)器地址
PORT = 21567
BUFSIZ = 1024
ADDR = (HOST, PORT)
tcpCliSock = socket(AF_INET, SOCK_STREAM)  #客戶端只需要一個套接字
tcpCliSock.connect(ADDR)  #發(fā)起連接
while True:
  data = raw_input('>')
  tcpCliSock.send(data)  #發(fā)送數(shù)據(jù)
  if not data:
    break
  data = tcpCliSock.recv(BUFSIZ)  #接收數(shù)據(jù)
  print data
tcpCliSock.close()

更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python Socket編程技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對大家Python程序設(shè)計有所幫助。

相關(guān)文章

  • PyTorch 解決Dataset和Dataloader遇到的問題

    PyTorch 解決Dataset和Dataloader遇到的問題

    今天小編就為大家分享一篇PyTorch 解決Dataset和Dataloader遇到的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • 解決tensorflow1.x版本加載saver.restore目錄報錯的問題

    解決tensorflow1.x版本加載saver.restore目錄報錯的問題

    今天小編就為大家分享一篇解決tensorflow1.x版本加載saver.restore目錄報錯的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • 可視化pytorch 模型中不同BN層的running mean曲線實例

    可視化pytorch 模型中不同BN層的running mean曲線實例

    這篇文章主要介紹了可視化pytorch 模型中不同BN層的running mean曲線實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • pytorch中tensorboard安裝及安裝過程中出現(xiàn)的常見錯誤問題

    pytorch中tensorboard安裝及安裝過程中出現(xiàn)的常見錯誤問題

    這篇文章主要介紹了pytorch中tensorboard安裝及安裝過程中出現(xiàn)的常見錯誤問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • python統(tǒng)計一個文本中重復行數(shù)的方法

    python統(tǒng)計一個文本中重復行數(shù)的方法

    這篇文章主要介紹了python統(tǒng)計一個文本中重復行數(shù)的方法,涉及針對Python中dict對象的使用及相關(guān)本文的操作,具有一定的借鑒價值,需要的朋友可以參考下
    2014-11-11
  • python中decimal模塊的用法

    python中decimal模塊的用法

    本文主要介紹了python中decimal模塊的用法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02
  • 機器學習10大經(jīng)典算法詳解

    機器學習10大經(jīng)典算法詳解

    這篇文章主要為大家詳細介紹了機器學習10大經(jīng)典算法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Python實現(xiàn)在Excel文件中寫入圖表

    Python實現(xiàn)在Excel文件中寫入圖表

    這篇文章主要為大家介紹了如何利用Python語言實現(xiàn)在Excel文件中寫入一個比較簡單的圖表,文中的實現(xiàn)方法講解詳細,快動手嘗試一下吧
    2022-05-05
  • 淺談Python數(shù)學建模之整數(shù)規(guī)劃

    淺談Python數(shù)學建模之整數(shù)規(guī)劃

    整數(shù)規(guī)劃并不一定是線性規(guī)劃問題的變量取整限制,對于二次規(guī)劃、非線性規(guī)劃問題也有變量取整限制而引出的整數(shù)規(guī)劃。但在數(shù)學建模問題中所說的整數(shù)規(guī)劃,通常是指整數(shù)線性規(guī)劃。整數(shù)規(guī)劃與線性規(guī)劃的差別只是變量的整數(shù)約束。選擇簡單通用的編程方案,讓求解器去處理吧
    2021-06-06
  • Python?ORM數(shù)據(jù)庫框架Sqlalchemy的使用教程詳解

    Python?ORM數(shù)據(jù)庫框架Sqlalchemy的使用教程詳解

    對象關(guān)系映射(Object?Relational?Mapping,簡稱ORM)模式是一種為了解決面向?qū)ο笈c關(guān)系數(shù)據(jù)庫存在的互不匹配的現(xiàn)象的技術(shù)。本文主要介紹了其使用的相關(guān)資料,感興趣的小伙伴可以學習一下
    2022-10-10

最新評論

嵊泗县| 柳林县| 常熟市| 淮滨县| 澄城县| 隆昌县| 合水县| 芦溪县| 西和县| 清丰县| 永年县| 剑阁县| 土默特右旗| 丽水市| 新竹县| 余姚市| 娄烦县| 新昌县| 铜鼓县| 航空| 大冶市| 广平县| 固安县| 拜泉县| 清远市| 大余县| 荔浦县| 靖西县| 惠来县| 灌云县| 云林县| 渝中区| 徐汇区| 陵水| 盐山县| 大石桥市| 永丰县| 巴中市| 龙口市| 调兵山市| 商都县|