返回顶部
首页 > 资讯 > 后端开发 > Python >Python之Socket自动重连
  • 793
分享到

Python之Socket自动重连

PythonSocket 2023-01-31 02:01:12 793人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

参考:https://www.cnblogs.com/MikeZhang/p/pythontcpReconnect20170701.html 问题描述 现有一个tcp客户端程序,需定期从服务器取数据,但由于种种原因(网络不稳定等)

参考:https://www.cnblogs.com/MikeZhang/p/pythontcpReconnect20170701.html

问题描述

现有一个tcp客户端程序,需定期从服务器取数据,但由于种种原因(网络不稳定等)需要自动重连。

测试服务器示例代码:

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()
复制代码

运行效果:

复制代码
(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
复制代码

讨论

这里只是个简单的示例代码,实现了python的tcp自动重连。

好,就这些了,希望对你有帮助。

本文github地址:

https://github.com/mike-zhang/mikeBlogEssays/blob/master/2017/20170701_python之tcp自动重连.rst


--结束END--

本文标题: Python之Socket自动重连

本文链接: https://lsjlt.com/news/187094.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python之Socket自动重连
    参考:https://www.cnblogs.com/MikeZhang/p/pythonTcpReconnect20170701.html 问题描述 现有一个tcp客户端程序,需定期从服务器取数据,但由于种种原因(网络不稳定等)...
    99+
    2023-01-31
    Python Socket
  • python之socket
    python之socket一、初识socket        socket 是网络连接端点,每个socket都被绑定到一个特定的IP地址和端口。IP地址是一个由4个数组成的序列,这4个数均是范围 0~255中的值(例如,220,176,36...
    99+
    2023-01-31
    python socket
  • python socket之udp说明
    UDP方式UDP 号称无连接传输,全然没有TCP那么复杂,三次握手,错误重传之类的机制都没有,发的只管发,收得只管收,收到没有?不知道,顺序不对怎么办?不管!就是 这样,但是速度就要比TCP高得多了。在对数据帧要求不是很高的地方,这确实是很...
    99+
    2023-01-31
    python socket udp
  • shell脚本自动检测网络掉线和自动重连
    在ppp移植成功后,有时会出现ppp掉线等情况。这篇文章写了一个自动检测连接网络的解决方法。 创建一个shell脚本,在里面添加一下内容。(记得给操作权限) #!/bin/sh //根据你自己的shell类型来选择。...
    99+
    2022-06-04
    shell脚本自动检测网络 shell脚本网络
  • Python自动化办公之清理重复文件详解
    目录清理重复的文件清理重复文件的优化1清理重复文件的优化2清理重复文件的优化3批量修改文件名清理重复的文件 已知条件: 什么都不知道,只需要知道它是文件就可以了 实现方法: 可以从指...
    99+
    2024-04-02
  • python之自动化测试
    功能: 在ubuntu上面,通过shell脚本打开 VirtualBox(windows xp),并调用XP里面的python脚本,来打开一些windows上面的软件,并做模拟操作,完成之后关闭VirtualBox(windows xp)...
    99+
    2023-01-31
    测试 python
  • python网络-Socket之TCP编
    一、TCP简介 1、TCP介绍 TCP协议,传输控制协议(英语:Transmission Control Protocol,缩写为 TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议。 TCP通信需要经过创建连接、数据传送、终止...
    99+
    2023-01-31
    网络 python TCP
  • python socket 编程之三:长
    长连接:开启一个socket连接,收发完数据后,不立刻关闭连接,可以多次收发数据包。 短连接:开启一个socket连接,收发完数据后,立刻关闭连接。 心跳:长连接在没有数据通信时,定时发送数据包(心跳),以维持连接状态。 在pyt...
    99+
    2023-01-31
    之三 python socket
  • python之怎么使用socket
    本篇内容主要讲解“python之怎么使用socket”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python之怎么使用socket”吧!01:OSI模型1)OSI模型包括应用层、表示层、会话层...
    99+
    2023-06-01
  • Python怎么实现自动玩连连看
    这篇“Python怎么实现自动玩连连看”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python怎么实现自动玩连连看”文章吧...
    99+
    2023-06-29
  • 使用shell怎么自动检测网络掉线并自动重连
    这篇文章将为大家详细讲解有关使用shell怎么自动检测网络掉线并自动重连,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。创建一个shell脚本,在里面添加一下内容。(记得给操作权限)#!/bi...
    99+
    2023-06-09
  • mysql5.1关于自动重连的一些变化
    以前mysql用的是3.23的版本,在调用C API的时候,基本不用重连的设置,但是现在使用mysql5.1,发现每天早上连接都会断掉,感觉很奇怪,仔细查阅文档,发现有2个参数:interactive_ti...
    99+
    2024-04-02
  • 详解Python自动化之文件自动化处理
    一、生成随机的测验试卷文件 假如你是一位地理老师, 班上有 35 名学生, 你希望进行美国各州首府的一个小测验。不妙的是,班里有几个坏蛋, 你无法确信学生不会作弊。你希望随机调整问...
    99+
    2024-04-02
  • Python实现树莓派WiFi断线自动重连的实例代码
    实现 WiFi 断线自动重连。原理是用 Python 监测网络是否断线,如果断线则重启网络服务。 1.Python 代码 autowifi.py,放在 /home/pi 目录下: #!/usr/bin/...
    99+
    2022-06-04
    断线 实例 代码
  • python自动化之pymysql库连接mysql数据库封装成类
    import pymysqlif __name__ == ‘__main__‘:host = "被访问数据库的ip地址或者域名"port = 端口号user = "连接数据库的用户名"password = "连接数据库的密码"sql = "...
    99+
    2014-08-04
    python自动化之pymysql库连接mysql数据库封装成类 数据库入门 数据库基础教程 数据库 mysql
  • 自动重启挂掉的python脚本
    跑程序,因为内存问题或者其它blabla问题(总之不是代码问题),程序可能会偶尔挂掉,我们又不能整天盯着程序,怎么办呢?写个脚本来检查程序是否挂掉,如果挂掉就重启,这是一个不错的想法,具体做法依操作系统而不同。 方法1 在lin...
    99+
    2023-01-31
    脚本 自动重启 python
  • Python办公自动化之Excel(中)
    目录准备读取数据写入数据修改数据进阶用法最后准备 首先,我们需要安装依赖包 # 安装依赖包 pip3 install openpyxl 读取数据 使用 openpyxl 中的&...
    99+
    2022-06-02
    python 办公自动化 python 自动化excel
  • Python写自动化之SVN更新
    在远程机器上执行脚本时,为了能够保证脚本的实时性,我们一般会将脚本存放到SVN上,远程机器通过SVN的操作去更新脚本; SVN更新脚本只需要2步就可以实现了,这个地方使用到pysvn库,看下实现 # 初始化client self.clie...
    99+
    2023-01-31
    Python SVN
  • Python自动化运维:Django之U
    准备首先新建一个Django 项目django-admin startproject urlTest进入manage.py所在目录后./manage.py startapp app1 ./manage.py startpap app2此时我...
    99+
    2023-01-31
    Python Django
  • python之pexpect实现自动交互
    Pexpect 是 Expect 语言的一个 Python 实现,是一个用来启动子程序,并使用正则表达式对程序输出做出特定响应,以此实现与其自动交互的 Python 模块。 Pexpect 的使用范围很广,可以用来实现与 ssh、ftp ...
    99+
    2023-01-31
    python pexpect
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作