数 据 传 输 的 基 类 , 分 别 是 连 接 类 和 连 接 管 理 类 , 这 两 个 基 类 分 别 用 了
Microsoft 的 Socket 类和 TcpListener
类。
(1)Socket
类
Socket 类为网络通信提供了一套丰富的方法和属性。Socket 类允许您使用
ProtocolType 枚举中所列出的任何一种协议执行异步和同步数据传输。Socket
类遵循异步方法的
.NET Framework 命名模式;例如,同步 Receive 方法对
应于异步
BeginReceive 和 EndReceive
方法。
(2)TcpListener
类
TcpListener 类提供一些简单方法,用于在阻塞同步模式下侦听和接受传
入 连 接 请 求 。 使 用
TcpClient 或 Socket 来 连 接 TcpListener , 使 用
IPEndPoint、本地 IP 地址及端口号或者仅使用端口号,来创建 TcpListener。可
以将本地
IP 地址指定为 Any,将本地端口号指定为 0(希望基础服务提供程序
分配这些值
)。如果选择这样做,使用 LocalEndpoint
来标识已指定的信息。
Start 方法用来开始侦听传入的连接请求。Start 将对传入连接进行排队,
直 至您 调用
Stop 方法或它已经完成 MaxConnections 排队为止。可使用
AcceptSocket 或 AcceptTcpClient 从传入连接请求队列提取连接。这两种方
法将阻塞。如果要避免阻塞,可首先使用
Pending 方法来确定队列中是否有可
用的连接请求。
调用
Stop 方法来关闭 TcpListener。Stop 方法不会关闭任何已接受的连接
需要用户负责分别关闭这些连接。
2.
程序所用链表的代码实现
在程序中我们经常会用到链表这样一种数据结构。很幸运
Microsoft 为用户
提供了很好的数组类
ArrayLIst
,用起来很方便,如同在用一个链表。
ArrayList 类提供在大多数 Collections 类中提供但不在 Array 类中提供的
一些功能。例如:
Array 的容量是固定的,而 ArrayList 的容量是根据需要自动扩展的。如果
更改了
ArrayList.Capacity 属性的值,则自动进行内存重新分配和元素复制 。
ArrayList 提供添加、插入或移除某一范围元素的方法。在 Array 中,您只能一
次获取或设置一个元素的值。
ArrayList 提供将只读和固定大小包装返回到集合
的方法。而
Array 不提供。另一方面,Array 提供 ArrayList 所不具有的某些灵