亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

使用python實(shí)現(xiàn)tcp自動(dòng)重連

 更新時(shí)間:2017年07月02日 09:04:37   作者:Mike_Zhang  
下面小編就為大家?guī)?lái)一篇使用python實(shí)現(xiàn)tcp自動(dòng)重連實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。

操作系統(tǒng): CentOS 6.9_x64

python語(yǔ)言版本: 2.7.13

問(wèn)題描述

現(xiàn)有一個(gè)tcp客戶(hù)端程序,需定期從服務(wù)器取數(shù)據(jù),但由于種種原因(網(wǎng)絡(luò)不穩(wěn)定等)需要自動(dòng)重連。

測(cè)試服務(wù)器示例代碼:

https://github.com/mike-zhang/pyExamples/blob/master/socketRelate/tcpServer1_multithread.py

解決方案

'''
tcp client with reconnect
E-Mail : Mike_Zhang@live.com
'''

#! /usr/bin/env python
#-*- coding:utf-8 -*-

import os,sys,time
import socket

def doConnect(host,port):
  sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  try :
    sock.connect((host,port))
  except :
    pass
  return sock

def main():
  host,port = "127.0.0.1",12345
  print host,port
  sockLocal = doConnect(host,port)

  while True :
    try :
      msg = str(time.time())
      sockLocal.send(msg)
      print "send msg ok : ",msg
      print "recv data :",sockLocal.recv(1024)
    except socket.error :
      print "\r\nsocket error,do reconnect "
      time.sleep(3)
      sockLocal = doConnect(host,port)
    except :
      print '\r\nother error occur '
      time.sleep(3)
    time.sleep(1)

if __name__ == "__main__" :
  main()

運(yùn)行效果:

(py27env) [root@local t1]# python tcpClient1_reconnect.py
127.0.0.1 12345
send msg ok : 1498891374.98
recv data : 1498891374.98
send msg ok : 1498891375.98
recv data : 1498891375.98
send msg ok : 1498891376.98
recv data :

socket error,do reconnect
send msg ok : 1498891381.99
recv data : 1498891381.99
send msg ok : 1498891382.99
recv data : 1498891382.99

討論

這里只是個(gè)簡(jiǎn)單的示例代碼,實(shí)現(xiàn)了python的tcp自動(dòng)重連。

相關(guān)文章

  • 教你如何使用Python實(shí)現(xiàn)二叉樹(shù)結(jié)構(gòu)及三種遍歷

    教你如何使用Python實(shí)現(xiàn)二叉樹(shù)結(jié)構(gòu)及三種遍歷

    什么是二叉樹(shù):每個(gè)節(jié)點(diǎn)最多有兩個(gè)子樹(shù)的樹(shù)結(jié)構(gòu),通常子樹(shù)被稱(chēng)作“左子樹(shù)”(left subtree)和“右子樹(shù)”(right subtree) 二叉樹(shù)由兩個(gè)對(duì)象組成,一個(gè)是節(jié)點(diǎn)對(duì)象,一個(gè)是樹(shù)對(duì)象,需要的朋友可以參考下
    2021-06-06
  • 聊聊Python String型列表求最值的問(wèn)題

    聊聊Python String型列表求最值的問(wèn)題

    這篇文章主要介紹了Python String型列表求最值的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-01-01
  • CentOS7下安裝python3.6.8的教程詳解

    CentOS7下安裝python3.6.8的教程詳解

    這篇文章主要介紹了CentOS7下安裝python3.6.8的教程,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-01-01
  • pycharm下pyqt4安裝及環(huán)境配置的教程

    pycharm下pyqt4安裝及環(huán)境配置的教程

    這篇文章主要介紹了pycharm下pyqt4安裝及環(huán)境配置的教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Pandas中常用的七個(gè)時(shí)間戳處理函數(shù)使用總結(jié)

    Pandas中常用的七個(gè)時(shí)間戳處理函數(shù)使用總結(jié)

    在零售、經(jīng)濟(jì)和金融等行業(yè),數(shù)據(jù)總是由于貨幣和銷(xiāo)售而不斷變化,生成的所有數(shù)據(jù)都高度依賴(lài)于時(shí)間。如果這些數(shù)據(jù)沒(méi)有時(shí)間戳或標(biāo)記,實(shí)際上很難管理所有收集的數(shù)據(jù)。本文為大家準(zhǔn)備了Pandas中常用的七個(gè)時(shí)間戳處理函數(shù),需要的可以參考一下
    2022-04-04
  • 詳解Python對(duì)JSON中的特殊類(lèi)型進(jìn)行Encoder

    詳解Python對(duì)JSON中的特殊類(lèi)型進(jìn)行Encoder

    這篇文章主要介紹了詳解Python對(duì)JSON中的特殊類(lèi)型進(jìn)行Encoder,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Python正則表達(dá)式的應(yīng)用詳解

    Python正則表達(dá)式的應(yīng)用詳解

    這篇文章主要介紹了Python中正則表達(dá)式的詳細(xì)教程,正則表達(dá)式是Python學(xué)習(xí)進(jìn)階當(dāng)中的重要內(nèi)容,需要的朋友可以參考下,希望能給你帶來(lái)幫助
    2021-08-08
  • pyx文件 生成pyd 文件用于 cython調(diào)用的實(shí)現(xiàn)

    pyx文件 生成pyd 文件用于 cython調(diào)用的實(shí)現(xiàn)

    這篇文章主要介紹了pyx文件 生成pyd 文件用于 cython調(diào)用的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • python實(shí)現(xiàn)ModBusTCP協(xié)議的client功能

    python實(shí)現(xiàn)ModBusTCP協(xié)議的client功能

    Modbus TCP 是一種基于 TCP/IP 協(xié)議棧的 Modbus 通信協(xié)議,它用于在工業(yè)自動(dòng)化系統(tǒng)中進(jìn)行設(shè)備之間的通信,只要通過(guò)pymodbus或pyModbusTCP任意模塊就可以實(shí)現(xiàn),本文采用pymodbus,感興趣的朋友跟隨小編一起看看吧
    2023-10-10
  • python+Django實(shí)現(xiàn)防止SQL注入的辦法

    python+Django實(shí)現(xiàn)防止SQL注入的辦法

    這篇文章主要介紹了python+Django實(shí)現(xiàn)防止SQL注入的辦法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10

最新評(píng)論