解析RTSPのURL関数

1046 ワード

解析URLの関数を書いて、URLの中のIPとportを抽出することができます。
例えば:url="rtsp://192.168.1.43:2554/realmp3.mp3";url="rtsp://192.168.10.177/bipbop-gear1-all.ts";
前に書いたのですが、よく使われている文字列の操作関数については、ここで解析してみます。http://blog.csdn.net/longlong530/article/details/9109851
 
long PraseURL( const char *url, char *szip, int *iport )

{

	long lret = -1;

	if(url)

	{ 

		//1.   rtsp      

		if(!_strnicmp(url, "rtsp://", 7))

		{

			//2.  ip  

			char *s, *ss;

			s = (char*)url + strlen("rtsp://");

			ss = strchr(s, '/');



			strncpy(szip, s,  ss- s);

			szip[ss -s] = '\0';



			//3.           

			s = strchr(szip, ':');

			//       ,     IP  

			if(s)

			{

				ss = s;

				s ++;

				*iport = atoi(s);



				//    ip  

				szip[ss - szip] = '/0';

			}

			else

				*iport = 554;//    554



			lret = 0;

		}

	}





	return lret;

}