实验基于网络通信协议的设计(精华)
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
End End Sub
Private Sub Form_Load()
Accept方法 用于接收一个连接请求。在用TCP建立连接时,当有连 接请求到来就用此方法接受请求以建立连接。 调用格式:winsock对象.Accept Request ID
Bind方法 在存在多协议接口卡的情况下,用此方法把接口卡和 IP地址捆绑在一起。 调用格式:winsock对象.Bind 端口号,IP地址
Error事件 发生错误时出现。
SendProgress事件 在发送数据期间出现。
SendComple事件 在完成一个发送操作时出现。
例:列车时刻表显示。
服务器程序负责提供列车时刻表数据,客户端程序负 责显示服务器所传递的内容。
整个过程有下列步骤组成: 1)服务器工作,聆听客户请求; 2)客户请求建立连接; 3)服务器响应,建立连接; 4)客户请求时刻表数据; 5)服务器接受请求,发送数据给客户; 6)客户接受数据,进行显示并请求下一个数据。
远程机器名
RemoteHostIP 远程机器的IP地址
RemotePort
远程通信端口地址
SocketHandle 提供给调用Winsock API的句柄参数
State
连接的当前状态
Protocol
设置使用的协议TCP或UDP
State连接状态
State常数
值
sckclosed
wenku.baidu.com
0
sckopen
实验三 基于网络通信协议的设计
一、实验目的
了解通信协议的基本工作原理 了解Winsock的编程方法 设计一个简单基于通信协议的应用程序
二、实验说明
Internet是国际性的通信网络的集合体,它集 现代通信技术和现代计算机技术于一体,是计 算机之间进行国际信息交流和实现资源共享的 良好手段。
Close方法 关闭一个TCP连接。调用格式:winsock对象.close
Connect方法 用于向远程主机发出连接请求。 调用格式:winsock对象.connect[远程主机IP,远程端口]
GetData和PeekData方法 都是用来取得接收到的数据。GetData取回后要清除接 收缓冲区,PeekData不清除接收缓冲区。 调用格式:winsock对象.getdata(peekdata)变量[, 数据类型[,最大长度]]
Windows网络编程
Windows环境下的Internet编程主要是进行 Sockets编程。
Winsock是Microsoft Windows提供的网络编程 接口,它提供了基于TCP/IP协议的接口实现方 法。
TCP/IP的结构
通过网路进行数据通信,需要用地址来标识网路中的 主机,这样才能保证数据正确的发送到主机。TCP/IP 协议使用IP地址作为网络中主机的标识,而且每台主 机的IP地址是唯一的,从而实现通过IP地址建立彼此 之间的联系。通常情况下,由于每台主机上运行不止 一个应用程序,所以为使应用程序间建立连接,还需 要一个地址标识。在TCP/IP协议中使用端口(Port) 来作为主机上运行的应用程序的标识号。因此, TCP/IP协议中一个有效的网络地址包括IP地址和端口 地址。
TCP/IP协议提供两种同其它主机进行通信 的方式:TCP方式和UDP方式
TCP方式:是一种面向连接的服务,它在两个主机 间建立连接,提供双向、有序且无重复的数据流 服务,以及流量控制、差错检测和纠错等服务, 保证数据的可靠传输。
UDP方式:是一种双向的无连接数据服务,它把数 据发送出去但并不进行差错控制和检查,所以不 能保证数据可靠性,因而用于少量数据的传输。
Internet提供各种各样的服务:Telnet、FTP、 电子邮件、网络新闻服务、文档查询索引服务 及其它信息服务。
Internet上信息传递基于TCP/IP(传输控制协 议/互联网协议)协议。
网络编程
Windows网络编程 UNIX网络编程 JAVA网络编程 Web客户/服务器端编程
四、实验要求
确定应用程序的内容 原理说明 详细的设计思路及工作流程 程序设计及程序清单 设计总结 参考文献(3-4参考资料)
先在一台计算机上运行服务器程序,此时窗口上只有一个“退出”按钮。 再在另一台计算机上运行客户机程序,在“连接”按钮右边的文本框中输入服务器 的主
机名后单击“连接”按钮。如果连接成功,则服务器和客户机程序窗口都会出现两个文本框。这时,两端都可以在上面的文本框中输入文字,这些文字会立即在下 面的文本框中出现。 服务器程序使用的控件如下: (1)Command1:退出按钮; (2)textsend:发送数据文本框; (3)Winsockserver: 服务器Winsock; (4)textget :接收数据文本框。 服务器程序的界面如图所示。 服务器程序的源代码如下: Private Sub Command1_Click()
ConncetRequest事件
当远程计算机请求连接时出现,仅适用于TCP服务器应用程序。在 请求一个新连接时激活该事件。激活事件之后,RemoteHostIP和 RemotePort属性存储有关客户的信息。服务器可决定是否接受连 接。(参数:repuestID为连接请求标识)
DataArrival事件 当新数据到达时出现。
1
scklistening
2
sckconnectionsuspending
3
sckresolvinghost
4
sckconneting
5
sckconnected
6
sckclosing
7
sckerror
8
描述
关闭状态 打开状态 监听状态 连接挂起 解析域名 正在连接 已建立连接 正在关闭 出错
Winsock控件方法
Listen方法 用于服务器程序,等待客户访问。 调用格式:winsock对象.listen
SendData方法 用于发送数据,可用在TCP和UDP两种方式下。 调用格式:winsock对象.SendData 数据
Winsock控件事件
Close事件 当远程计算机关闭连接时出现。
Connect事件 当一个Connect操作完成时发生。使用Connect事件确 认已经成功建立了一个连接。
三、实验内容
利用Winsock控件编写TCP应用程序或者 UDP应用程序。
Winsock简介
Winsock控件属性 Bytereceived 接受到的数据字节数
LocalHostName 本地主机名
LocalIP
本地IP地址
LocalPort
本地机器通信程序的端口
RemoteHost
Private Sub Form_Load()
Accept方法 用于接收一个连接请求。在用TCP建立连接时,当有连 接请求到来就用此方法接受请求以建立连接。 调用格式:winsock对象.Accept Request ID
Bind方法 在存在多协议接口卡的情况下,用此方法把接口卡和 IP地址捆绑在一起。 调用格式:winsock对象.Bind 端口号,IP地址
Error事件 发生错误时出现。
SendProgress事件 在发送数据期间出现。
SendComple事件 在完成一个发送操作时出现。
例:列车时刻表显示。
服务器程序负责提供列车时刻表数据,客户端程序负 责显示服务器所传递的内容。
整个过程有下列步骤组成: 1)服务器工作,聆听客户请求; 2)客户请求建立连接; 3)服务器响应,建立连接; 4)客户请求时刻表数据; 5)服务器接受请求,发送数据给客户; 6)客户接受数据,进行显示并请求下一个数据。
远程机器名
RemoteHostIP 远程机器的IP地址
RemotePort
远程通信端口地址
SocketHandle 提供给调用Winsock API的句柄参数
State
连接的当前状态
Protocol
设置使用的协议TCP或UDP
State连接状态
State常数
值
sckclosed
wenku.baidu.com
0
sckopen
实验三 基于网络通信协议的设计
一、实验目的
了解通信协议的基本工作原理 了解Winsock的编程方法 设计一个简单基于通信协议的应用程序
二、实验说明
Internet是国际性的通信网络的集合体,它集 现代通信技术和现代计算机技术于一体,是计 算机之间进行国际信息交流和实现资源共享的 良好手段。
Close方法 关闭一个TCP连接。调用格式:winsock对象.close
Connect方法 用于向远程主机发出连接请求。 调用格式:winsock对象.connect[远程主机IP,远程端口]
GetData和PeekData方法 都是用来取得接收到的数据。GetData取回后要清除接 收缓冲区,PeekData不清除接收缓冲区。 调用格式:winsock对象.getdata(peekdata)变量[, 数据类型[,最大长度]]
Windows网络编程
Windows环境下的Internet编程主要是进行 Sockets编程。
Winsock是Microsoft Windows提供的网络编程 接口,它提供了基于TCP/IP协议的接口实现方 法。
TCP/IP的结构
通过网路进行数据通信,需要用地址来标识网路中的 主机,这样才能保证数据正确的发送到主机。TCP/IP 协议使用IP地址作为网络中主机的标识,而且每台主 机的IP地址是唯一的,从而实现通过IP地址建立彼此 之间的联系。通常情况下,由于每台主机上运行不止 一个应用程序,所以为使应用程序间建立连接,还需 要一个地址标识。在TCP/IP协议中使用端口(Port) 来作为主机上运行的应用程序的标识号。因此, TCP/IP协议中一个有效的网络地址包括IP地址和端口 地址。
TCP/IP协议提供两种同其它主机进行通信 的方式:TCP方式和UDP方式
TCP方式:是一种面向连接的服务,它在两个主机 间建立连接,提供双向、有序且无重复的数据流 服务,以及流量控制、差错检测和纠错等服务, 保证数据的可靠传输。
UDP方式:是一种双向的无连接数据服务,它把数 据发送出去但并不进行差错控制和检查,所以不 能保证数据可靠性,因而用于少量数据的传输。
Internet提供各种各样的服务:Telnet、FTP、 电子邮件、网络新闻服务、文档查询索引服务 及其它信息服务。
Internet上信息传递基于TCP/IP(传输控制协 议/互联网协议)协议。
网络编程
Windows网络编程 UNIX网络编程 JAVA网络编程 Web客户/服务器端编程
四、实验要求
确定应用程序的内容 原理说明 详细的设计思路及工作流程 程序设计及程序清单 设计总结 参考文献(3-4参考资料)
先在一台计算机上运行服务器程序,此时窗口上只有一个“退出”按钮。 再在另一台计算机上运行客户机程序,在“连接”按钮右边的文本框中输入服务器 的主
机名后单击“连接”按钮。如果连接成功,则服务器和客户机程序窗口都会出现两个文本框。这时,两端都可以在上面的文本框中输入文字,这些文字会立即在下 面的文本框中出现。 服务器程序使用的控件如下: (1)Command1:退出按钮; (2)textsend:发送数据文本框; (3)Winsockserver: 服务器Winsock; (4)textget :接收数据文本框。 服务器程序的界面如图所示。 服务器程序的源代码如下: Private Sub Command1_Click()
ConncetRequest事件
当远程计算机请求连接时出现,仅适用于TCP服务器应用程序。在 请求一个新连接时激活该事件。激活事件之后,RemoteHostIP和 RemotePort属性存储有关客户的信息。服务器可决定是否接受连 接。(参数:repuestID为连接请求标识)
DataArrival事件 当新数据到达时出现。
1
scklistening
2
sckconnectionsuspending
3
sckresolvinghost
4
sckconneting
5
sckconnected
6
sckclosing
7
sckerror
8
描述
关闭状态 打开状态 监听状态 连接挂起 解析域名 正在连接 已建立连接 正在关闭 出错
Winsock控件方法
Listen方法 用于服务器程序,等待客户访问。 调用格式:winsock对象.listen
SendData方法 用于发送数据,可用在TCP和UDP两种方式下。 调用格式:winsock对象.SendData 数据
Winsock控件事件
Close事件 当远程计算机关闭连接时出现。
Connect事件 当一个Connect操作完成时发生。使用Connect事件确 认已经成功建立了一个连接。
三、实验内容
利用Winsock控件编写TCP应用程序或者 UDP应用程序。
Winsock简介
Winsock控件属性 Bytereceived 接受到的数据字节数
LocalHostName 本地主机名
LocalIP
本地IP地址
LocalPort
本地机器通信程序的端口
RemoteHost