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