V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
hzt1234h
V2EX  ›  Linux

关于 TCP 连接意外断开重连的问题

  •  
  •   hzt1234h · 2020-08-04 09:39:09 +08:00 · 2852 次点击
    这是一个创建于 1573 天前的主题,其中的信息可能已经有所发展或是发生改变。

    关于 TCP 连接意外断开,如 kill 指令将程序杀死,然后再次启动程序,能否建立连接呢?还有就是这其中会不会有什么问题,会不会接收到以前的数据

    5 条回复    2020-08-04 11:23:32 +08:00
    opengps
        1
    opengps  
       2020-08-04 10:03:12 +08:00
    1,如果设计了自动重连,实际上已经是新的连接,这取决于软件设计
    2,不会收到以前数据,一个 socket 断开之后,一段时间内( 2 倍的某个值,具体叫啥记不清了)是不会重新使用该端口的
    BingoXuan
        2
    BingoXuan  
       2020-08-04 10:08:00 +08:00
    不会,当你重新启动程序之后资源就重新配置了。最简单方法是服务端记录客户端 session 。
    hzt1234h
        3
    hzt1234h  
    OP
       2020-08-04 11:04:06 +08:00
    大佬提醒我了,忘记同一个端口是不会紧连着使用的,看来 TCP 卷一又要重新看了[笑哭]
    hzt1234h
        4
    hzt1234h  
    OP
       2020-08-04 11:04:30 +08:00
    @opengps
    大佬提醒我了,忘记同一个端口是不会紧连着使用的,看来 TCP 卷一又要重新看了[笑哭]
    ChristopherWu
        5
    ChristopherWu  
       2020-08-04 11:23:32 +08:00
    TCP 只能保证一定时间内重发丢了的数据,收到了 RST 包后断开了,就没办法恢复链接了。需要上层来保证
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2782 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 07:20 · PVG 15:20 · LAX 23:20 · JFK 02:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.