《第13章__网络通信编程技术.ppt》由会员分享,可在线阅读,更多相关《第13章__网络通信编程技术.ppt(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第13章章 网络通信编程技术网络通信编程技术 杨章伟杨章伟e-mail:1-2课程内容安排课程内容安排网络协议网络协议Winsock控件控件 Winsock控件的应用控件的应用 小结小结 习题习题 1-3网络协议网络协议 在用在用Visual Basic 6.0开发网络应用程序之前,读者有必要先开发网络应用程序之前,读者有必要先对网络编程所涉及的网络协议有一定的了解。对网络编程所涉及的网络协议有一定的了解。TCP/IP协议其实是协议其实是IP协议和协议和TCP协议两个网络基础协议的组协议两个网络基础协议的组合。这两个协议是网络进行通信的基础协议。合。这两个协议是网络进行通信的基础协议。UDP
2、(User Datagram Protocol)协议也称为用户数据报协)协议也称为用户数据报协议。该协议是一种无连接的传输层协议,提供面向事务的简单议。该协议是一种无连接的传输层协议,提供面向事务的简单不可靠信息传输服务。与不可靠信息传输服务。与TCP协议相比,协议相比,UDP协议并不提供协议并不提供对对IP协议的可靠机制、流控制及错误恢复机制等功能。协议的可靠机制、流控制及错误恢复机制等功能。1-4Winsock控件控件 在在Visual Basic 6.0中,要想利用第中,要想利用第13.1节所介绍的节所介绍的TCP协议和协议和UDP协议进行网络通信编程,需要使用协议进行网络通信编程,需要
3、使用Winsock控件。利用控件。利用Winsock控件可以与远程计算机建控件可以与远程计算机建立连接,并通过立连接,并通过TCP协议和协议和UDP协议进行数据传输。协议进行数据传输。Winsock控件对于用户来说是不可见的,它为用户提供控件对于用户来说是不可见的,它为用户提供了方便快捷的网络访问途径。当用户编写客户端或服务了方便快捷的网络访问途径。当用户编写客户端或服务器应用程序时,不必了解底层的器应用程序时,不必了解底层的TCP协议和协议和UDP协议或协议或Winsock API函数,即可完成相应程序的设计。函数,即可完成相应程序的设计。在工程中选择在工程中选择“工程工程”“部件部件”命令
4、,打开命令,打开“部件部件”对话框,选择对话框,选择“Microsoft Winsock Control 6.0(SP5)”项目。单击项目。单击“确定确定”按钮将按钮将Winsock控控件加载到工具箱中件加载到工具箱中 1-5常用属性常用属性通通过过对对Winsock控控件件属属性性的的设设置置可可以以完完成成诸诸如如获获取取本本地地计计算算机机名名称称、设置本地计算机端口及设置远程计算机名称和地址等功能。设置本地计算机端口及设置远程计算机名称和地址等功能。LocalHostName属性用于返回本地计算机的名称。属性用于返回本地计算机的名称。LocalIP属性用于返回本地计算机的属性用于返回本
5、地计算机的IP地址。地址。LocalPort属性用于返回或者设置所用到的本地计算机端口。属性用于返回或者设置所用到的本地计算机端口。Protocol属属性性用用于于返返回回或或者者设设置置Winsock控控件件所所使使用用的的协协议议,如如TCP协议或者协议或者UDP协议。协议。RemoteHost属性用于返回或者设置远程计算机名称和地址。属性用于返回或者设置远程计算机名称和地址。RemoteHostIP属性用于返回远程计算机的属性用于返回远程计算机的IP地址。地址。RemotePort属性用于返回或设置要连接的远程计算机的端口号。属性用于返回或设置要连接的远程计算机的端口号。State属性用
6、于返回属性用于返回Winsock控件状态。控件状态。1-6常用方法常用方法 Winsock控件的方法主要有控件的方法主要有Accept方法、方法、Bind方法、方法、Close方方法、法、Connect方法、方法、GetData方法、方法、Listen方法、方法、PeekData方法及方法及SendData方法。用户通过使用这些方法可以完成诸方法。用户通过使用这些方法可以完成诸如接受连接、关闭连接及发送数据和接收数据等操作。如接受连接、关闭连接及发送数据和接收数据等操作。Accept方法仅适用于方法仅适用于TCP服务器应用程序。服务器应用程序。Bind方法用于指定方法用于指定TCP连接的连接的
7、LocalPort属性和属性和LocalIP属性。属性。Connect方法用于连接远程计算机。方法用于连接远程计算机。GetData方法用于获取当前的数据块并将其存储在变体类型的方法用于获取当前的数据块并将其存储在变体类型的变量中。变量中。Listen方法用于创建套接字并将其设置为侦听模式。方法用于创建套接字并将其设置为侦听模式。SendData方法用于将数据发送给远程的计算机。方法用于将数据发送给远程的计算机。1-7主要事件主要事件 Winsock控件的主要事件包括控件的主要事件包括Close事件、事件、Connect事件、事件、ConnectionRequest事件及事件及DataArri
8、val事件。事件。Close事件,当远程计算机关闭连接时触发该事件。事件,当远程计算机关闭连接时触发该事件。Connect事件,当一个事件,当一个Connect操作完成时该事件发生。操作完成时该事件发生。ConnectionRequest事件,当远程计算机请求连接时触发。事件,当远程计算机请求连接时触发。DataArrival事件,当新数据到达时触发该事件。事件,当新数据到达时触发该事件。1-8Winsock控件的应用控件的应用 创建网络通信程序服务器端创建网络通信程序服务器端(1)创建客户端应用程序。在客户端设置服务器端计算机)创建客户端应用程序。在客户端设置服务器端计算机的的IP地址(地址
9、(RemoteIP属性)或名称(属性)或名称(RemoteHost属性)属性)和服务器端的和服务器端的“监听监听”端口号(端口号(RemotePort属性)。然属性)。然后调用后调用Connect方法进行连接。方法进行连接。(2)创建服务器端应用程序。在服务器端设置一个监听端)创建服务器端应用程序。在服务器端设置一个监听端口(口(LocalPort属性)并调用属性)并调用Listen方法。当客户端需要方法。当客户端需要连接时,会触发连接时,会触发ConnectionRequest事件,这时可以用事件,这时可以用Accept方法来接受连接请求。方法来接受连接请求。(3)建立连接后,服务器端和客户
10、端都可以进行数据的收)建立连接后,服务器端和客户端都可以进行数据的收发。发送数据可以用发。发送数据可以用SendData方法;当数据到达时,会方法;当数据到达时,会触发触发DataArrival事件,这时可以在事件,这时可以在DataArrival事件内用事件内用GetData方法或方法或PeekData方法来获取数据。方法来获取数据。1-9创建网络通信程序客户端创建网络通信程序客户端 创建客户端应用程序。在客户端设置服务器端计算机的创建客户端应用程序。在客户端设置服务器端计算机的IP地地址和服务器端的址和服务器端的“监听监听”端口号。然后调用端口号。然后调用Connect方法方法进行连接。进
11、行连接。1-10小结 本章主要介绍网络编程技术的概念、本章主要介绍网络编程技术的概念、Winsock控件及控件及Winsock控件的使用方法。读者在了解网络编程技术概念控件的使用方法。读者在了解网络编程技术概念的基础上,应该掌握的基础上,应该掌握Winsock控件常用的属性、方法、事控件常用的属性、方法、事件,并通过实际的编程来灵活地使用件,并通过实际的编程来灵活地使用Winsock控件。控件。1-11常见面试题常见面试题 1关于Winsock控件。【考题】如何将Winsock控件加载到Visual Basic 6.0的集成开发环境中?2关于Winsock控件的属性。【考题考题】如何返回远程计算机名称和地址?如何返回远程计算机名称和地址?3关于Winsock控件的使用。【考题考题】如何实现客户端与服务器的数据交换?如何实现客户端与服务器的数据交换?1-12综合练习综合练习 利用利用Winsock控件和控件和UDP协议创建一个简单的聊天工具。程协议创建一个简单的聊天工具。程序界面如图序界面如图13.9所示所示