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
bwrj
V2EX  ›  Python

刚学习到 socket,客户连接服务之后,好像默认 3 分钟左右就会自动掉线。找了别的资料,说心跳包能解决这问题,但是在网上找了好久, python 的例子少的可怜。求助……

  •  
  •   bwrj · 2016-05-21 23:41:31 +08:00 · 4366 次点击
    这是一个创建于 3141 天前的主题,其中的信息可能已经有所发展或是发生改变。
    10 条回复    2016-05-23 11:18:34 +08:00
    UnisandK
        1
    UnisandK  
       2016-05-21 23:45:44 +08:00
    socket 没默认掉线的吧?
    maooyer
        2
    maooyer  
       2016-05-21 23:49:55 +08:00
    v0768ex
        3
    v0768ex  
       2016-05-21 23:59:55 +08:00 via Android
    心跳包就是定时给对方发包
    TheCure
        4
    TheCure  
       2016-05-22 00:02:10 +08:00
    是不是因为 TCP KeepAlive 的问题?
    我认为应该是 所以你要不停的发包保活,而不是空着
    关注下 FIN 或者 RST 信号的 TTL ,判断是否来自中间设备
    bicoff9527
        5
    bicoff9527  
       2016-05-22 00:14:59 +08:00
    心跳包要自己发的. 完全可以找别的语言的例子进行改写啊, 本来这个也是 java, c++主要的用武之地
    neoblackcap
        6
    neoblackcap  
       2016-05-22 10:41:11 +08:00 via iPhone
    肯定是自己结束了。 TCP 协议不存在自己默认自动断开时间。
    P0P
        7
    P0P  
       2016-05-22 13:42:53 +08:00
    zeromq 自动帮你维护
    sleshep
        8
    sleshep  
       2016-05-23 10:46:51 +08:00
    你可以设置 tcp keepalive. setsockopt
    wizardoz
        9
    wizardoz  
       2016-05-23 11:05:20 +08:00
    @P0P 摆脱人家在学 socket ,你给推荐 mq 。学写基础还是有必要学的啊。
    P0P
        10
    P0P  
       2016-05-23 11:18:34 +08:00
    @wizardoz zmq 不是 mq 啊 lol ,简直是替代 socket 的神器
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5472 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 08:30 · PVG 16:30 · LAX 00:30 · JFK 03:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.