(一) IP地址解析
IP地址的類型:XXX.XXX.XXX.XXX
A類: 1.0.0.1--126.255.255.254
- 最高位是0;
- 1個字節的網絡地址和3個地址的主機地址
- 測試地址:127.XXX.XXX.XXX
B類: 128.0.0.1--191.255.255.254
- 最高位是10
- 私有地址:172.16.0.0-172.31.255.254
- 保留地址:169.254.X.X(自動的DHCP服務器)
- 廣播地址:191.255.255.255
C類: 192.0.0.1--192.168.255.255
- 最高位110
- 私有地址:192.168.0.1--192.168.255.255
D類: 224.0.0.1--239.255.255.255,最高位為1110
E類: 240.0.0.1--255.255.255.254 ,最高位為1111
受限廣播:255.255.255.255,用來將一個分組以廣播方式發送給本網絡中的所有主機,路由器則阻擋該分組通過,將其廣播功能限制在本網內部
IPv6: 用8組16進制數表示,例如:2001:0db8:85a3:08d3:1319:8a2e:0370:7344是一個合法的IPv6地址。
如果四個數字都是0,可以被省略。例如:
2001:0db8:85a3:0000:1319:8a2e:0370:7344
等價於
2001:0db8:85a3::1319:8a2e:0370:7344
遵從這些規則,如果因為省略而出現了兩個以上的冒號的話,可以壓縮為一個,但這種零壓縮在地址中只能出現一次。因此:
-
- 2001:0DB8:0000:0000:0000:0000:1428:57ab
- 2001:0DB8:0000:0000:0000::1428:57ab
- 2001:0DB8:0:0:0:1428:57ab
- 2001:0DB8:0::0:1428:57ab
- 2001:0DB8::1428:57ab
都是合法的地址,並且他們是等價的。
IPv4轉IPv6:
IPv4,135.75.43.52(87.4B.2B.34,十六進制為0x874B2B34)
IPv6,0000:0000:0000:0000:0000:0000:874B:2B34 或者::874B:2B34或者::135.75.43.52
(二)代碼
來源:http://blog.csdn.net/adream307/article/details/8231222
using System; 02.using System.Collections.Generic; 03.using System.Linq; 04.using System.Text; 05.using System.Net; 06.using System.Net.Sockets; 07.using System.Threading; 08. 09.namespace Test 10.{ 11. class Program 12. { 13. static void Main(string[] args) 14. { 15. UdpClient client = new UdpClient(new IPEndPoint(IPAddress.Any, 0)); 16. IPEndPoint endpoint = new IPEndPoint(IPAddress.Parse("255.255.255.255"), 7788); 17. byte[] buf = Encoding.Default.GetBytes("Hello from UDP broadcast"); 18. Thread t = new Thread(new ThreadStart(RecvThread)); 19. t.IsBackground = true; 20. t.Start(); 21. while (true) 22. { 23. client.Send(buf, buf.Length, endpoint); 24. Thread.Sleep(1000); 25. } 26. } 27. 28. static void RecvThread() 29. { 30. UdpClient client = new UdpClient(new IPEndPoint(IPAddress.Any, 7788)); 31. IPEndPoint endpoint = new IPEndPoint(IPAddress.Any, 0); 32. while (true) 33. { 34. byte[] buf = client.Receive(ref endpoint); 35. string msg = Encoding.Default.GetString(buf); 36. Console.WriteLine(msg); 37. } 38. } 39. } 40.}
實際測試中,255.255.255.255是受限的廣播(它不被路由發送,但會被送到相同物理網絡段上的所有主機),容易出現問題,建議改成直接廣播地址,類似“192.168.1.255”(網絡廣播會被路由,並會發送到專門網絡上的每台主機)。
其它參考文章:
http://baike.baidu.com/link?url=k-7RY6a-dnW931iLF5-zU6EKVi2utSwpud7E-xl90jYjXbyTMd7GL035CkD2lmPnSZoknPOUMdNIRl8ijNnxkK
http://baike.baidu.com/link?url=CD1x3z6_4jOLTxsKxFQcBLMFH6U79nky5Cf3PAYS7zrPI0GqhYYOBMxvmbmnEZ94PaKeCDf_0cBDcFzaWmNUG_
http://wenku.baidu.com/link?url=C4FV9Xr9t4tuP_EMvBzSkXhC4QaKjb0gGxGXlhknOlE8eIF0YpdLl2sM2180J2rUEV5sKpcjutDoZ3C4wQ9V2sqZzR_KZj1wQ1LMNn73WTe
https://zh.wikipedia.org/wiki/IP地址