You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rust中TCP Socket超时后重连实现方案咨询

Rust TCP客户端连接失败自动重试实现

当然可以实现这种需求。作为Rust新手,你可以通过简单的循环+错误处理来实现客户端持续重试连接,直到服务器启动并成功建立连接。

下面是一个实用的示例代码:

use std::net::TcpStream;
use std::time::Duration;
use std::thread;

fn main() {
    // 替换为你的服务器地址和端口
    let server_addr = "127.0.0.1:8080";
    println!("正在尝试连接服务器: {}", server_addr);

    // 无限循环,直到连接成功
    loop {
        match TcpStream::connect(server_addr) {
            Ok(stream) => {
                println!("连接服务器成功!");
                // 这里可以添加你的业务逻辑,比如读写数据
                // 示例:handle_client_stream(stream);
                break; // 连接成功后退出重试循环
            }
            Err(error) => {
                println!("连接失败: {},5秒后重新尝试...", error);
                // 暂停一段时间再重试,避免高频重试消耗资源
                thread::sleep(Duration::from_secs(5));
            }
        }
    }
}

关键逻辑说明:

  • 用loop创建无限重试循环,直到连接成功跳出
  • TcpStream::connect尝试建立TCP连接,返回Result类型,通过match处理成功/失败场景
  • 连接失败时打印错误信息,调用thread::sleep设置重试间隔(可根据需求调整时长)
  • 连接成功后,你可以在Ok分支里添加数据收发等后续逻辑

内容的提问来源于stack exchange,提问作者hopes32 _

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 12:15:36