python的socket UDP 断开,重连问题

我使用socket模块,刚开始server和client都能发送和接受数据,但等待一段时间后
server能发送数据,但client显示没接受到数据,这应该是client断开连接,请教下该怎么
重新连接server?

0

1个回答

server需要跟client之间有一个心跳机制,当发现client断开了,就清除这个socket连接,而client端发现断开了,就重新连接server

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
UDP断线重连(自学)
在一家小公司,任务也不多,主管也没教,好不容易来了一个Socket断线重连的任务,于是自己写了一下。写的很烂,希望多多包涵,我是个新手,才刚刚上路,希望大家多多指教。公司的硬件是一个可以GSM传数据的盒子,通过Socket把数据传到远端服务器,主管写了程序,断线重连的功能教给我完成。这是我的第一个程序。#include  #include void *subthread()
UDP带重连的客户端
===========转载======== 2.3.2 UDP客户端 2009-02-15 15:48 周恒民 机械工业出版社 我要评论(0) 字号:T | T 综合评级:想读(6) 在读(0) 已读(6) 品书斋鉴(1) 已有12人发表书评 《Java TCP/IP Socket编程》第2章基本套接字,本章讲述的是如何编写自己的套接字应用程序了。本节为大家介绍的是UDP客...
Python之Socket自动重连
Python Socket自动重连
Socket 断线重连问题
上篇文章是关于Socket创建可Socket数据处理在这里: ☞ 利用GCDSocket 创建Socket ☞ 处理Socket数据粘包问题 关于断线重连的思路大概如下 当与服务器断开连接或网络出错时,先不要处理当前正在连接的socket,可能回应下当前UI的数据显示问题; 可以另起一个socket服务,与服务器尝试连接,当连接成功时,通知当前Socket进行重新连接
socket长连接,断线重连案例
void SendMsgToStreamSer(void* pData) { //#ifndef WIN32 signal(SIGPIPE,SIG_IGN); VT_WEBSOCKET_SERVICE::CWebSocketVideoMsgProc* pSer = (VT_WEBSOCKET_SERVICE::CWebSocketVideoMsgProc*)pData; CS
Socket断线重连
一、网上常用方法 1、当Socket.Conneted == false时,调用如下函数进行判断 /// /// 当socket.connected为false时,进一步确定下当前连接状态 /// /// private bool IsSocketConnected() { #region remarks /******************************...
socket连接,判断连接中断,如果中断,并自动重连。
    最近在开发中遇到一个问题,就是如何判断远端服务器是否已经断开连接,如果断开那么需要重新连接。      首先想到socket类的方法isClosed()、isConnected()、isInputStreamShutdown()、isOutputStreamShutdown()等,但经过试验并查看相关文档,这些方法都是本地端的状态,无法判断远端是否已经断开连接。      然后想到是否可以通过OutputStream发送一段测试数据,如果发送失败就表示远端已经断开连接,类似ping,但是这样会影响到
Flash AS3.0 Socket资源(5)——与Socket服务器断开
5.与Socket服务器断开,或者当服务器想与你断开的时候发消息给你.解决方法:通过调用Socket.close( )或者XMLSocket.close( )方法显性的断开与服务器的连接.同时可以通过监听close事件获得服务器主动断开的消息.讨论:通常情况下我们需要对程序进行下清理工作.比如说,你创建了一个对象,当这个对象没有用的时候我们就要删除它.因此,无论我们什么时候连接一个 Socket服务器,都要在我们完成了必要的任务之后显性的断开连接. 一直留着无用的Socket连接浪费网络资源,应该尽量避免这
sokcet 断开重连问题
socket服务器已经断开而主项目这边完全不知道,如何判断远端服务器是否已经断开连接,如果断开那么需要重新连接。     首先想到socket类的方法isClosed()、isConnected()、isInputStreamShutdown()、 isOutputStreamShutdown()等,但经过试验并查看相关文档,这些方法都是本地端的状态,无法判断远端是否已经断开连接。 
Qt实现Socket断线重连机制
简述 创建 Thread 类 继承 QThread,实现用单独的线程接收 socket 数据。 当 socket 与主机断开时,自动触发 OnDisConnect() 函数,从而在 run() 中执行自动重连代码段。 想主动断开 socket 连接时,把 m_isThreaStopped 设置为 true 即可。 简述 类的源码 类的使用 效果图类的源码Thread.h#ifndef THREAD
iOS定时器取消,用在socket断线重连
1.创建 static dispatch_source_t _reconTimer; dispatch_source_cancel(_timer);         NSTimeInterval period = 5; //设置时间间隔         dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE
java socket客户端断线重连
java socket client 断线重连的简单实现 有什么意见可以提哦
关于C#Socket断开重连问题
TCP客户端可以向TcpServer发送数据包时,若网络断开,原来的连接就会失效,出现以下错误提示: 断开套接字连接后,只能通过异步方式再次重新连接,而且只能连接到不同的 EndPoint。在操作完成前,在将不会退出的线程上必须调用 BeginConnect       导致无法发送数据包,如何处理呢?主要原因还是已断开的连接无法再使用,只能重新创建,因为我们可以采用自动重新创建连接的方式来
gprs经常断开重连
1、gprs连接:     现象:发现连接上,大概过一分多钟就会断开,再过几分钟才可以连接上       调试:发现发包到8.8.8.8,发包失败,然后发送AT指令没有数据返回    处理:1、换一个心跳服务器,例如公司测试的服务器、电脑上面的DNS(主要是看这个服务器是否稳定,ping看一下)                      8.8.8.8这个不够稳定,掉包
autobahn-python的使用——sendMessage()和断线自动重连
客户端代码:# -*-coding:utf8-*- import threading import timefrom autobahn.asyncio.websocket import WebSocketClientProtocolfrom autobahn.asyncio.websocket import WebSocketClientFactory import asyncioclass Bas
Windows C语言 Socket编程 client端(客户端)--断线重连版
了解了最基础的C语言客户端的编写流程,稍稍加以改动即可实现断线重连。 当服务器掉线时,客户端会以固定的频率不停的重连。
MQX建立SOCKET流程分析
/*FUNCTION*------------------------------------------------------------- * * Function Name   : RTCS_create * Returned Value  : RTCS_OK or error code * Comments        : *        Initialize RTCS.
C++ SOCKET 断线重连的一个例子
// WindowsSocketServer.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include #include #include #include #pragma comment(lib,"Ws2_32.lib") using namespace std; #define PORT 8080
Qt WebSocket简单的断开重连接--Qt
前言 WebSocket 是一个基于 Web 的协议,旨在使 client 应用程序和远程主机之间进行双向通信。如果最初的握手成功,则两个实体可以来回发送数据。WebSocket 是通过用更少的网络延迟和最小数据交换来努力获取实时数据的应用程序解决方案。                                                                       ...
关于socket tcp 断线重连
这个问题困扰过我几次,都没有来得及研究,今天研究一下。 首先写一个最简易的socket tcp程序,连接成功后再关闭服务器然后再用客户端各种操作看是什么情况 测试表明 (1)客户端已经连接,当服务端关闭程序时,客户端调用send函数发送失败,WSAGetLastError() 返回10054(远程主机强迫关闭了一个现有的连接)  (2)客户端已经连接,当客户端关闭程序时
socket断网重连机制
更新socket断网重连机制(关键词:reusing) s1.js  搜一下 关键词进行修改  s1.js内容如下: //引入http模块 var socketio = require('socket.io'), http     = require('http'), domain   = require('domain'), redis    = require('redi
Android Socket连接(心跳检测,断线重连,状态监测等)
Android Socket连接,包含心跳检测,断线重连,数据发送等等 博客地址:http://blog.csdn.net/yuzhiqiang_1993/article/details/78094909
C# + Socket断线重连 整理
一、网上常用方法 1、当Socket.Conneted == false时,调用如下函数进行判断 点击(此处)折叠或打开 /// /// 当socket.connected为false时,进一步确定下当前连接状态 ///  ///  private bool IsSocketConnected() {     #region remar
iOS-SocketRocket发送消息,连接,断开,心跳机制处理;
iOS -SocketRocket发送消息,连接,断开,心跳机制处理
Android Socket连接(模拟心跳包,断线重连,发送数据等)
android socket连接 socket心跳包,断线重连,发送数据
Websockt断开重连
websocket重连 let ws = new Websocket(url) ws.onclose = function(){ var reVar = setInterval(function(){ // 先对重连过后的Websocket进行判断,如果重连成功则断开循环 if(ws.readyState == 1){ ...
c#socket异步编程和断线重连
最近想到要写写博客,那么就从2016的第一天开始吧。先写下c#中socket的异步编程吧,c#为socket提供了异步编程的接口我们就用这些写个自己的类吧 public class SocketWrapper { private static int len_buf; byte[] buffer; Socket commus
异步Socket通讯客户端,断线可自动重连(含物理掉线)
  一、本文利用Ping检测物理连接是否断开 实测采用微软提供的方法并不能判断是否断开(很奇怪拔掉网线后依然能发送数据而未引发异常,难道是我写的有问题?)             //Connected 属性的值反映截止到最后的I/O操作时Socket的连接状态。当它返回False时,表明Socket要么从未             //连接,要么已断开连接。             //如...
Python 实现断网自动重连
来所里一年了,终于有了一台电脑,是小乐师兄淘汰给我的,很开心,因为用它编程智商有加成。但是问题就来了,我平时人在怀柔啊,怎么才能用所里的电脑搞科研呢?远程自然是很简单的,但是所里每天晚上三天钟会可耻地断一次网,而且断网必须要登录才能重连,为了不麻烦师兄,同时也让我周末回来显得很忙的样子,我开始鼓捣Python自动联网。 扯远了...道理很简单,就是每隔一段时间ping一下百度,判断网络状
java socket client简单的检测断开并重连发送队列消息实现
package com.pam.push; import java.io.ByteArrayInputStream; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; import java.util.LinkedList; import java.util.Properties; i
js socket心跳链接及断线重连处理
//Socket通讯工具类 var heartCheck = { timeout: 10000, //10秒发一次心跳 timeoutObj: null, serverTimeoutObj: null, servetInterval:null, reset: function() { clearTimeout(this.timeoutObj); clea...
C#之Socket断线重连
一、网上常用方法 1、当Socket.Conneted == false时,调用如下函数进行判断 /// /// 当socket.connected为false时,进一步确定下当前连接状态 /// /// private bool IsSocketConnected() { #region remarks /*******************************
NDK-TCP连接异常断开检测
TCP是一种面向连接的协议,连接的建立和断开需要通过收发相应的分节来实现。某些时候,由于网络的故障或是一方主机的突然崩溃而另一方无法检测到,以致始终保持着不存在的连接。下面介绍一种方法来检测这种异常断开的情况 1) 在TCP协议中提供了KEEPALIVE检测。该选项使能后,在一个TCP连接上,若指定的一段时间内没有数据交换,则自动发送分节等待对方确认。      SO_KEEPALIV
C# 判断Socket断线重连
定时器里面的事件 private void isConnendTimer_Tick(object sender, EventArgs e) { // 首先,Socket类的Connected属性只表示最后一次I/O操作的状态,如果这之后[连接的另一方]断开了,它还一直返回true, 除非你再通过socket来发送数据。所以通过个属性来判断是行不通的!
java socket tcp重连等 处理粘包、沾包
这个程序是前段时间写的,现在把以前写的东西整理出来。 下面是socket部分,还是很有帮助的:private void start(String severIP, int serverPort) { // TODO Auto-generated method stub try { s = new Socket(); s.setReuseAddress(true);
c#Socket客户端断线重连
c#Socket客户端断线重连! c#Socket客户端断线重连! c#Socket客户端断线重连! c#Socket客户端断线重连!
C# + Socket断线重连
一、网上常用方法 1、当Socket.Conneted == false时,调用如下函数进行判断 点击(此处)折叠或打开 /// /// 当socket.connected为false时,进一步确定下当前连接状态 ///  ///  private bool IsSocketConnected() {     #region remar
关于DelPhi断网重连问题
今年突然发现软件频繁报错,需要退出重连,更多人头疼的是客户输入很多单据后保存不了。这个问题必须解决,后来发现是断网频繁。不说了看代码: procedure TDM.GMTemp(SQLstr: string); begin   With ADOQ_Temp do     begin       Close;         SQL.Clear;       Filter :='';
W5500做server,通讯一段时间Client会断开
W5500做server,通讯一段时间Client会断开 问题描述:我用w5500作为server,用Client去连接,在通讯一段时间后会出现Client突然断开,继续进行连接一直连接不上,调试server端程序的时候发现出现这个情况的时候,SR寄存器读出来的值是0×17,即还是处于SOCK_ESTABLISHED状态,现在出现这个情况的频率比较高,大概运行十多分钟就会出现,求教? 答:这个是由...
C#+Socket客户端断线重连的解决办法
流程如下: 程序开始 -> 先connect一下服务端 -> 若连接成功 -> 程序继续执行该干嘛干嘛                                                        |                                                        |                            
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 学习python时遇到的问题 java学习socket