第十六讲Stoket编程.docVIP

  • 40
  • 0
  • 约6.11千字
  • 约 6页
  • 2018-06-07 发布于江苏
  • 举报
第十六讲 Stocket编程 Stocket套接字 提供对网络通信的基本操作,常用的类型有两种: 流式套接字 提供连接的、可靠的、数据无错并且无重复的数据发送服务,发送的数据按顺序接收。无长度限制线路占用率高。TCP协议使用这种接口。如网页浏览、下载文件。 数据报式套接字 提供面向无连接的服务,以独立的数据包形式发送数据,不提供正确性检查,不保证各数据包的发送顺序,可能出现数据的重发、丢失等现象。接收的顺序由路由决定,线路占用率低,数据包长度不能大于32KB.UDP协议使用这种接口,如QQ。 面向连接就像打电话,一直占线,先发先至。面向无连接就像寄信,只管收发,什么时候到由邮局定。与这个比方不同的是面向连接的方式为了保证安全可靠,速度不如无连接方式。 首先我们解释一下在网络编程时候,经常遇到的几个概念:同步(synchronous)、异步(asynchronous)、阻塞(Block)和非阻塞(Unblock): 所谓异步方式,就是发送方发送数据包以后,不等接受方响应,就接着发送下一个数据包。 同步方式就是当发送方发送一个数据包以后,一直等到接受方响应后,才接着发送下一个数据包。 阻塞套接字是指执行此套接字的网络调用时,直到调用成功才返回,否则此套节字就一直阻塞在网络调用上,比如调用StreamReader 类的Readlin ( 方法读取网络缓冲区中的数据,如果调用的时候没有数据到达,那么此Readlin ( 方法将一直挂在调用上,直到读到一些数据,此函数调用才返回; 非阻塞套接字是指在执行此套接字的网络调用时,不管是否执行成功,都立即返回。同样调用StreamReader 类的Readlin ( 方法读取网络缓冲区中数据,不管是否读到数据都立即返回,而不会一直挂在此函数调用上。 在Windows网络通信软件开发中,最为常用的方法就是异步非阻塞套接字。平常所说的C/S(客户端/服务器)结构的软件采用的方式就是异步非阻塞模式的。 网络通信地址 网络通信地址用对象IPEndPoint来表示,IPEndPoint类的成员有两个: Address属性:IP地址,不同的主机IP地址不同。 Port属性:端口号,同一主机的不同线程可通过不同的端口号,完成不同的通信处理。 通过IPHostEntry类,将一个域名(主机名)与一组IP地址关联。它有两个属性: AddressList属性:以一个IPAdress数组的形式存放了与域名相关联的IP地址列表。 HostName属性:即域名。 通过Dns类,向TCP/IP协议的应用程序提供域名服务。常用的静态方法有三个: GetHostName:返回主机名称。 GetHostByName:获取由参数指定的主机名的DNS信息,返回IPHostEntry类型的对象。 Resolve:域名解析,将由参数指定的域名转换为IP地址,返回IPHostEntry类型的对象。 常用的属性和方法 属性 说明 AddressFamily 获取Socket的地址族。 *Available 获取已经从网络接收且可供读取的数据量。 *Blocking 获取或设置一个值,该值指示Socket是否处于阻塞模式。 *Connected 获取一个值,该值指示Socket是否已连接到远程资源。 Handle 获取Socket的操作系统句柄。 *LocalEndPoint 获取本地终结点。 ProtocolType 获取Socket的协议类型。 *RemoteEndPoint 获取远程终结点。 SocketType 获取Socket的类型。 方法 说明 *Accept 创建新的Socket以处理传入的连接请求。 BeginAccept 开始一个异步请求,以创建新的Socket来接受传入的连接请求。 BeginConnect 开始对网络设备连接的异步请求。 BeginReceive 开始从连接的Socket中异步接收数据。 BeginReceiveFrom 开始从指定网络设备中异步接收数据。 BeginSend 将数据异步发送到连接的 BeginSendTo 向特定远程主机异步发送数据。 *Bind 使Socket与一个本地终结点相关联。 *Close 强制Socket连接关闭。 *Connect 建立到远程设备的连接。 *DisConnect 建立到远程设备的连接。 EndAccept 结束异步请求以创建新的Socket来接受传入的连接请求 EndConnect 结束挂起的异步连接请求。 EndReceive 结束挂起的异步读取。 EndReceiveFrom 结束挂起的、从特定终结点进行异步读取。 EndSend 结束挂起的异步发送 EndSendTo 结束挂起的

文档评论(0)

1亿VIP精品文档

相关文档