外网语音通信准备资料

一、获得本机外网IP和地址信息,代码如下:

static void Main(string[] args)
        {
            string[] IpAndAddress=GetIPAndAddress();
            Console.WriteLine(
            "IP = {0}\nAddress = {1}", IpAndAddress[0], IpAndAddress[1]
            );
            while (true) ;
        }

        // code from : http://space.itpub.net/12639172/viewspace-672871
        // 有改动
        static string[] GetIPAndAddress()
        {
            try
            {
                string strUrl = "http://www.ip138.com/ips138.asp";//这个可以获得调试正确的结果。
                // 下面两个网址貌似不是很正确的。
                //"http://iframe.ip138.com/ic.asp"; 
                //"http://www.ip138.com/ip2city.asp";


                Uri uri = new Uri(strUrl);
                WebRequest wr = WebRequest.Create(uri);
                Stream s = wr.GetResponse().GetResponseStream();
                StreamReader sr = new StreamReader(s, Encoding.Default);
                string all = sr.ReadToEnd(); //读取网站的数据ITPUB个人空间8k5_8Qj%v.k
                int i = all.IndexOf("IP地址是:") + 7;
                string tempip = all.Substring(i, 15);
                string ip = tempip.Split(new char[] { ']' })[0];
                i += ip.Length + 5;
                string temAddress = all.Substring(i, 100);
                string address = temAddress.Split(new char[] { '<' })[0];
                return new string[] { ip, address };
            }
            catch
            {
                return new string[]
                {
                    "Error,Cannot connect outside",
                    "Error,You must online,First"
                };
            }
        }
二、上网搜搜关键词

刚开始直接搜广域网P2P通信,可以得到的东西不多。尤其是中文网站,少之又少。后来还是回到codeproject.com,搜索如下的几个网址:
1、http://www.codeproject.com/Articles/138484/Simple-SIP-VOIP-based-phone-in-C 讲述局域网通信的,但是不是很好用,代码2000-3000行,有时间可以看看。怎么实现局域网P2P聊天的。
2、http://www.codeproject.com/Articles/17048/Examples-to-create-your-Conferencing-System-in-NET 这个是重点学习对象,里面包含了我可能需要的很多代码。可以删除视频的内容,语音可以采用刚刚做的MELP语音压缩算法。这个我已经完成了。还算不错的。有些代码很冗长,可以花一段时间来看了。
3、跟同学聊天发现他们已经实现了电脑向手机传输了一个字符串。可以好好查看代码了。

你可能感兴趣的:(外网语音通信准备资料)