ios SRT套接字连接超时

m0rkklqb  于 2023-05-19  发布在  iOS
关注(0)|答案(1)|浏览(158)

我面临着一个问题,而连接到我的本地服务器上的套接字,在那里我得到一个连接超时(1001)在所附的屏幕截图显示错误。
是否有任何默认的SRT套接字地址和端口,我可以使用它来测试我的连接套接字上的代码?
这是我的代码

- (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();
}

错误日志

fsi0uk1n

fsi0uk1n1#

int socket = socket(AF_INET,SOCK_STREAM,0);

struct sockaddr_in socketAddr;
        socketAddr.sin_family = AF_INET;
        socketAddr.sin_port = kSocketPort;
        socketAddr.sin_addr.s_addr = INADDR_ANY;
        
        int result = connect(network_socket, (struct sockaddr *)&socketAddr, sizeof(socketAddr));
        
        if (result == -1) {
            NSLog(@"Connection failed");
            return;
        }
        
        close(network_socket);

相关问题