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

SRT Socket连接超时问题求助及默认测试地址端口咨询

SRT Socket连接超时(错误码1001)问题求助

我在本地服务器连接SRT Socket时遇到连接超时问题,错误码为1001,错误日志截图如下:
错误日志截图

请问有没有可用于测试Socket连接代码的默认SRT Socket地址及端口?以下是我的代码:

- (IBAction)onSender:(id)sender {
    int yes = 1;

    const char ipAddress [] = "192.168.112.45:8000";
    
    printf("srt startup\n");
    srt_startup();
    
    printf("srt create socket\n");
    srtSocket = srt_create_socket();
    if (srtSocket == SRT_ERROR)
    {
        // fprintf(stderr, "srt_socket: %s\n", srt_getlasterror_str());
        [NSException raise:[@(srt_getlasterror(nil)) stringValue] format:@"%s", srt_getlasterror_str()];
    }

    printf("srt bind address\n");
    struct sockaddr_in socketAddrIN;
    memset(&socketAddrIN, 0, sizeof(socketAddrIN));
    socketAddrIN.sin_family = AF_INET;
    socketAddrIN.sin_port = htons(1234);
    inet_pton(AF_INET, ipAddress, &socketAddrIN.sin_addr);
    
    printf("srt set socket flag\n");
    srt_setsockflag(srtSocket, SRTO_SENDER, &yes, sizeof(yes));
    
    printf("srt connect\n");
    int result = srt_connect(srtSocket, (struct sockaddr *)&socketAddrIN, sizeof(socketAddrIN));
    
    if (result == SRT_ERROR) {
        // fprintf(stderr, "srt_connect: %s\n", srt_getlasterror_str());
        [NSException raise:[@(srt_getlasterror(nil)) stringValue] format:@"%s", srt_getlasterror_str()];
    }
    
    srt_close(srtSocket);
    
    srt_cleanup();
}

问题排查与解决方案

  1. 代码中的核心错误

    • inet_pton函数仅支持解析纯IP地址,你传入的ipAddress包含了:8000端口后缀,会导致地址解析失败,直接引发连接超时。需将IP和端口拆分处理:
      const char ipAddress [] = "192.168.112.45";
      // ...
      socketAddrIN.sin_port = htons(8000); // 替换原代码中的1234,使用目标服务端口
      
    • 作为SRT客户端,无需手动执行bind操作(除非有特定端口需求),客户端会自动分配随机本地端口,可直接删除bind相关代码段,简化逻辑。
  2. 本地测试用SRT服务搭建
    没有公共通用的SRT测试地址,你可以用SRT官方工具快速搭建本地测试服务:

    • 使用srt-live-transmit启动监听服务:
      srt-live-transmit srt://:8000 null://
      

    该命令会在本地8000端口启动SRT监听,接收数据后直接丢弃,适合快速验证客户端连接逻辑。

  3. 额外排查建议

    • 确认目标服务器的8000端口未被防火墙/安全组拦截(SRT基于UDP协议);
    • 用srt-test工具先验证网络连通性:
      srt-test -s 192.168.112.45:8000
      

内容的提问来源于stack exchange,提问作者NøBi Mac

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 12:07:02