楼主想和http服务器的80端口建立一个udt连接,请问可行吗? 我目前写了一个demo但是报错:Connection setup failure: connection time out. 因此我想是不是因为协议类型不同因此不可行。请Prof. Gu 以及各位大大帮我解答一下!多谢!
if ( UDT::startup() == UDT::ERROR ) { cout << "UDT::startup: " << UDT::getlasterror().getErrorMessage() << "and " << strerror ( errno ) << endl; exit ( -1 ); } UDTSOCKET conn_serv_fd; struct sockaddr_in serv_addr; //是不是SOCK_STREAM错了?因为udp应该是SOCK_DGRAM if ( ( conn_serv_fd = UDT::socket ( AF_INET, SOCK_STREAM, 0 ) ) == UDT::INVALID_SOCK ) { cout << "create UDT::conn_serv_fd: " << UDT::getlasterror().getErrorMessage() << "and " << strerror ( errno ) << endl; exit ( -1 ); } serv_addr.sin_family = AF_INET; serv_addr.sin_port = htons(80);//默认80端口 serv_addr.sin_addr = *((struct in_addr *)h->h_addr);//http服务器IP地址 // 本质是udp —— 无连接的传输,那么为何还有connect函数??? if ( UDT::ERROR == UDT::connect ( conn_serv_fd, (struct sockaddr*)&serv_addr, sizeof(struct sockaddr) ) ) { //bug: connect: Connection setup failure: connection time out. cout << "connect: " << UDT::getlasterror().getErrorMessage() << "and " << strerror ( errno ) << endl; exit ( -1 ); } if ( UDT::ERROR == UDT::send ( conn_serv_fd, first_req, first_req_size, 0 ) ) { cout << "send: " << UDT::getlasterror().getErrorMessage(); exit ( -1 ); } else { cout<<"send first req already!"<<endl; }
Log in to post a comment.
楼主想和http服务器的80端口建立一个udt连接,请问可行吗?
我目前写了一个demo但是报错:Connection setup failure: connection time out.
因此我想是不是因为协议类型不同因此不可行。请Prof. Gu 以及各位大大帮我解答一下!多谢!