课程设计(综合实验)报告( 2013-2014年度第 2学期)名称:网络通信实验与设计题目:网线的制作、路由器配置及组网网络通信综合实验、VB6.0实验院系:电子与通信工程系班级:通信1101学号:学生姓名:指导教师:设计周数:成绩:日期实验环境VB 6.0实验名称实验一:熟悉VB环境及UDP通信实验程序的设计实验目的1.通过实验熟悉VB语言开发平台。
2.通过实验进一步理解UDP通信协议,掌握UDP通信协议的特点。
实验原理在TCP/IP模型中,UDP为网络层以上和应用层以下提供了一个简单的接口。
UDP只提供数据的不可靠传递,它一旦把应用程序发给网络层的数据发送出去,就不保留数据备份。
UDP在IP数据报的头部仅仅加入了复用和数据校验字段。
UDP是一个无连接协议。
跟TCP的操作不同,计算机并不建立连接。
另外,UDP应用程序可以是客户机,也可以是服务器。
UDP所在位置如下:应用层UDP(传输层)TCP(传输层)IP各种网络接口为了传输数据,首先要设置本机的使用协议和本机端口号。
然后,本机计算机只需将RemoteHost设置为需要聊天的计算机的IP地址,并将RemotePort属性设置为跟需要聊天的计算机的LocalPort属性相同的端口,并调用SendData方法来发送信息。
最后,本台计算机使用 DataArrival事件内的 GetData 方法来获取对方计算机已发送的信息。
本实验中聊天界面的编写采用VB语言。
实验内容实验步骤:1.进入VB6.0,双击StandardEXE。
2.出现标准窗体,调整窗体大小到适当尺寸。
3.工程名改为工程_udp,窗体名改为Frm_udp, 窗体的caprion属性改为“聊天程序”。
4.添加三个TextBox控件,名字分别改为Text_ip、Text_record、Text_send,属性均为空,分别用以输入聊天对象的IP地址、显示聊天内容、输入聊天内容。
另外Text_record 的scrollbars 属性设置为2_vertical。
5.添加三个Lable控件,其caption 属性分别改为:“聊天对象(IP地址):”、“聊天记录:”、“我要说:”,用以说明其下面的TextBox的作用。
6.添加三个CommandButton控件,Caption属性分别改为“确定”、“发送”、“退出”,名称分别为:Cmd_sure、Cmd_send、Cmd_exit。
其作用分别为:确定实验内容IP地址、发送内容、退出聊天程序。
7.添加Winsock控件,名字改为Winsock_udp。
8.执行,判断所编程序的正确性。
9.若程序执行正确,则存盘。
程序代码:Private Sub Cmd_exit_Click()Unload MeEnd SubPrivate Sub Cmd_send_Click()Dim strdata1 As StringDim strdata2 As StringIf Text_send.Text = "" ThenMsgBox "请输入要发送的话!", vbOKOnly + vbExclamation '警告信息End Ifstrdata1 = Text_send.Textstrdata2 = "发送:"Text_record.Text = Text_record & Chr(13) & Chr(10)Text_record.Text = Text_record & strdata2 & strdata1Winsock_udp.SendData Text_send.TextText_send.Text = ""End SubPrivate Sub Cmd_sure_Click()Winsock_udp.Protocol = sckUDPProtocolWinsock_udp.RemoteHost = Text_IP.TextWinsock_udp.RemotePort = 2010 '远程端口Winsock_udp.Bind 2010 '绑定本地端口End SubPrivate Sub Text_send_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 13 ThenWinsock_udp.SendData Text_send.TextText_send.Text = ""End IfEnd SubPrivate Sub Winsock_udp_DataArrival(ByVal bytesTotal As Long)Dim strdata3 As StringDim strdata4 As StringWinsock_udp.GetData strdata4strdata3 = "接收:"Text_record.Text = Text_record & Chr(13) & Chr(10) '回车加换行Text_record.Text = Text_record & strdata3 & strdata4End Sub实验结果及分析聊天界面如下:1. 运行程序,分别和两个人聊天2. 聊天双方在IPAdr中输入对方IP地址,点确定,开始通信。
3. 在TextSend中输入发送信息,点发送,可以在TextReceive中看到对话内容,自己发送的是“发送:”后显示的内容。
4. 同理,对方收到信息后,显示在对方TextRecieve中。
对方进行同种操作,将可以在本机的TextRecieve中显示,显示在“接收:”后,现在即实现了利用UDP进行双方聊天。
分析:UDP协议是端到端的协议,不需要实现建立连接,只需知道对方的IP地址就可发送数据,每个报文都带有完整的目的地址,协议比较简单,但是它不保证报文传输的可靠性。
IP地址知道后,就可以利用SendData发送数据,数据利用UDP协议传输数据,接收方利用GataData接收数据。
至此,双方可以进行正常的聊天。
实验名称实验二:TCP通信程序的设计实验目的1、本实验为验证性实验。
2、掌握TCP协议的基本原理。
3、掌握TCP协议的通信过程,加深对TCP通信协议的理解。
实验原理TCP是一种面向连接的、可靠的、基于字节流的运输层(Transport layer)通信协议。
TCP的服务流程:TCP协议提供的是可靠的、面向连接的传输控制协议,即在传输数据前要先建立逻辑连接,然后再传输数据,最后释放连接3个过程。
TCP提供端到端、全双工通信;采用字节流方式,如果字节流太长,将其分段;提供紧急数据传送功能。
TCP提供的面向连接意味着两个使用TCP的应用(通常是一个客户和一个服务器)在彼此交换数据之前必须先建立一个TCP连接。
TCP编程流程:实验内容实验步骤:1、进入VB6.0,双击StandardEXE。
2、出现标准窗体,调整窗体大小到适当尺寸。
3、工程名改为工程_tcp_client,窗体名改为Frm_tcp_client, 窗体的caprion属性改为“数据流通信程序”。
4、添加三个TextBox控件,名字改为TexrSendYourName,Text属性为空,用以输入你的汉语名字。
实验内容5、添加三个CommandButton控件,Caption属性改为“连接”,用以连接服务器的IP地址。
6、添加CommandButton控件,Caption属性改为“发送数据”,用以发送固定格式数据。
7、添加三个Lable控件,属性分别为“发送”,“接受”,“程序”,用以显示Text控件的意义。
8、添加Winsock控件,名字改为TcpSocket.9、存盘,存盘路径为自己建立的子目录。
程序代码:Private Sub Cmd_exit_Click()Unload MeEnd SubPrivate Sub Cmd_link_Click()Winsock_tcp.CloseWinsock_tcp.Protocol = sckTCPProtocolWinsock_tcp.RemoteHost = Text_ip.TextWinsock_tcp.RemotePort = 2010Winsock_tcp.ConnectEnd SubPrivate Sub Cmd_sdata_Click()If Text_send.Text = "" ThenMsgBox "请输入“网络通信实验与设计”", vbOKOnly + vbExclamation '警告信息End IfWinsock_tcp.SendData Text_send.TextText_send.Text = ""End SubPrivate Sub Cmd_sname_Click()If Text_send.Text = "" ThenMsgBox "请输入您的姓名", vbOKOnly + vbExclamation '警告信息End IfWinsock_tcp.SendData Text_send.TextText_send.Text = ""End SubPrivate Sub Cmd_sprog_Click()If Text_prog.Text = "" ThenMsgBox "请输入您的程序", vbOKOnly + vbExclamation '警告信息End IfWinsock_tcp.SendData Text_prog.TextText_prog.Text = ""End SubPrivate Sub Winsock_tcp_DataArrival(ByVal bytesTotal As Long)Dim strdata As StringWinsock_tcp.GetData strdataText_recieve.Text = strdataEnd Sub实验结果及分析TCP_client 界面:TCP_server 界面:1.运行程序。
2.点击连接。
在状态栏中可看到“已建立连接,请发送数据“字样。
3.点发送数据,发送“网络通信实验与设计”到服务器,即在服务器可以显示这些文字。
状态栏中出现“接收数据成功,请发送姓名”。
4.在TextSendYourName中输入自己的名字,点发送,在服务器即可显示你的名字,状态栏显示“发送姓名成功,请发送程序”。