一、获得本机外网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_8Q j%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、跟同学聊天发现他们已经实现了电脑向手机传输了一个字符串。可以好好查看代码了。