示例#1
0
//add by csq
//
static int raopcl_stream_connect_udp(raopcl_data_t *raopcld){
	__u16 myport=0;
	if((raopcld->sfd=open_udp_socket(NULL,&myport))==-1)return -1;
	if(get_udp_connect_by_host(raopcld->sfd,raopcld->addr,
					rtspcl_get_server_port(raopcld->rtspcl))){
		close(raopcld->sfd);
		raopcld->sfd=-1;
		return -1;
	}
	return 0;
}
示例#2
0
static int raopcl_stream_connect(raopcl_data_t *raopcld)
{
	u_int16_t myport=0;

	if((raopcld->sfd=open_tcp_socket(NULL, &myport))==-1) return -1;
	if(get_tcp_connect_by_host(raopcld->sfd, raopcld->addr,
				   rtspcl_get_server_port(raopcld->rtspcl))) {
		close(raopcld->sfd);
		if((raopcld->sfd=open_udp_socket(NULL, &myport))==-1) return -1;
		if(get_tcp_connect_by_host(raopcld->sfd, raopcld->addr,
								   rtspcl_get_server_port(raopcld->rtspcl))) {
			ERRMSG("%s: connect failed\n", __func__);
			close(raopcld->sfd);
			raopcld->sfd=-1;
			return -1;
		}
		else
			printf("RAOP stream connected via UDP\n");
	}
	else
		printf("RAOP stream connected via TCP\n");
	return 0;
}