V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
617450941
V2EX  ›  Python

socket 断线重连怎么实现

  •  
  •   617450941 · 2015-12-12 13:28:12 +08:00 · 7229 次点击
    这是一个创建于 3265 天前的主题,其中的信息可能已经有所发展或是发生改变。
    客户端 到服务端期间网络中断 socket 怎么实现断线重连 有没示例代码供参考
    10 条回复    2015-12-14 17:47:41 +08:00
    est
        1
    est  
       2015-12-12 13:39:28 +08:00
    会写 socket 的做这个都不难吧。。。
    617450941
        2
    617450941  
    OP
       2015-12-12 14:03:23 +08:00 via Android
    @est 就是不会才问的
    zhonghua
        3
    zhonghua  
       2015-12-12 14:26:46 +08:00
    socket.io
    youkeshen
        4
    youkeshen  
       2015-12-12 15:03:46 +08:00
    617450941
        5
    617450941  
    OP
       2015-12-13 00:39:58 +08:00 via Android
    @youkeshen 这是 js 的把
    fy
        6
    fy  
       2015-12-13 14:25:41 +08:00
    @617450941 简单呀 设定用户掉线,倒计时再次进行登录行为
    viaNull
        7
    viaNull  
       2015-12-13 14:53:53 +08:00
    UDP 的话没重连的概念
    TCP 的话需要一个心跳查看是否中断,如果中断,重新建立 TCP 连接就是了。
    Juggernaut
        8
    Juggernaut  
       2015-12-13 15:53:12 +08:00
    @viaNull 但是这都是协议栈级别的工作,上层 APP 不需要 care 这些
    617450941
        9
    617450941  
    OP
       2015-12-14 14:31:41 +08:00
    @fy
    @viaNull
    有没简单代码供参考
    fy
        10
    fy  
       2015-12-14 17:47:41 +08:00
    @617450941

    while (alive) {
    connect();
    recv(); // 阻塞住等消息,掉线后退出
    reset();
    }
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2833 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 15:17 · PVG 23:17 · LAX 07:17 · JFK 10:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.