虽然天天上博客园欣赏各位“大侠”的杰作,偶然回首,突然发 现自己已成“潜水者”久矣。本来对于自己有限的水平,有点不好意 思在此发贴,不过潜伏久了,才慢慢意识到老是通过浏览他人的文章虽然能够提 高自己能力,能够及时的获取新技术新思想,但却只能停留在他人的思想上。通 过学习,加上自己的想法,再写出来,让大家来指证错误,不仅能够巩固自己的 知识,也可以让一些跟我一样迷惘的朋友们不用再去走一些弯路,岂不是两全其 美,本着这样的想法,打算把自己平时的所学所想都写下来,欢迎各路朋友批评 指证,因为你的批评和建议能够让我更迅速的得到提高。
好了,讲了这么多废话,也该言归正传了。由于工作上需要,最近恶补了一 下socket网络编程,整理了一下资料,把它放上来,希望能够对一些朋友有帮助 。
在讲Socket编程前,我们先来看一下几个最常用的类和方法,相信这些东西 能让你事半功倍。
一、IP地址操作类
1、IPAddress类
a、在该类中有一个Parse()方法,可以把点分的十进制IP表示转化成 IPAddress类,方法如下:
IPAddress address = IPAddress.Parse(“192.168.0.1”);
b、IPAddress提供4个只读字段
Any 用于代表本地系统可用的任何IP地址
Broadcase 用于代表本地网络的IP广播地址
Loopback 用于代表系统的回送地址
None 用于代表系统上没有网络接口
其中IPAddress.Any最常用可以用来表示本机上所有的IP地址,这对于socket 服务进行侦听时,最方便使用,不用对每个IP进行侦听了。而 IPAddress.Broadcase可用来UDP的IP广播,这些具体讲socket时再详细介绍。
2、IPEndPoint类
我们可以通过二种构造方法来创建IPEndPoint类:
a、IPEndPoint(long address, int port)
b、IPEndPoint(IPAddress address, int port)
四个属性:
Address
AddressFamily
Port
MaxPort
MinPort
这些应该从名字上就很好理解,不再一一介绍。IPEndPoint其实就是一个IP 地址和端口的绑定,可以代表一个服务,用来Socket通讯。