Winsock编程在《计算机网络基础》教学中的应用

来源 :广东教育·职教版 | 被引量 : 0次 | 上传用户:thkinwalking
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  作者简介:蒋力(1985-),男,东莞市电子科技学校讲师,硕士。研究方向:计算机网络。
  摘要:该文简要介绍Winsock控件的基础知识,使用VB编写实现远程计算机通信的程序。通过程序的运行,帮助学生学习计算机网络中本机IP地址、回环地址、广播地址以及端口号的概念。
  关键词:Winsock;IP地址 ;端口号
  中图分类号:G712文献标识码:A文章编号:1005-1422(2014)06-0146-02在计算机网络学习中, OSI参考模型的抽象七层结构晦涩难懂。本校网络班学生学习《计算机网络基础》之前,已有VB编程基础设计做基础,具有一定的编程能力和理解能力。因此本文通过在Visual Basic中利用Winsock控件进行网络通讯程序的编程,使学生能够更好地理解IP地址和端口号的概念。
   一、Winsock控件基础
   Winsock控件在程序设计时,是可见的。在程序执行过程中,虽然隐藏在执行的窗体之中,但是它可以为有关网络通讯方面的程序设计提供依据。该控件的使用,使得调用TCP或UDP网络服务极为便利。因此,在编写有关应用程序时,只需简单了解TCP通讯协议和低级的Winsock API调用方式,学生学习时简单易懂。
   1.TCP协议
   TCP协议的全名为“传输控制协议(transfer control protocol)”,这是目前在互联网上使用的主要协议,例如http,ftp,SMTP等,都是基于这个面向连接的协议。因此,当使用TCP协议连接两个网络上的设备时,将可以在它们之间交换希望交换的数据。如果正在建立主机端应用程序时,必须指定本机和本机(执行应用程序所在的计算机)所用的连接端口号,接着将Winsock控件设置为“监听(listen)”,即可等候远程客户端进行调用与连接。因此,当主机端接收到客户端调用并且要求连接的信息时,将会触发“要求连接()”的事件,接着进行标准“允许”或是“拒绝”的程序。
   一旦主机端与客户端连接完成之后,将可以开始使用“传送数据(senddata)”方法,将数据传送给对方同时,在数据传达对方的计算机时,将会触发对方计算的“接收数(dataarrival)”事件。此时,可以使用“取得数据(getdata)”方法,来去出这些接收到的数据。
  2.Winsock控件
  (1)该次编程中涉及的Winsock的属性,如下:LocalHostName属性(本地主机名称);LocalIP属性(本地主机IP);LocalPort属性(本地主机端口);RemoteHost属性(远程主机名称);RemotePort属性(远程主机端口);Protocol属性(Winsock控件)(协议【TCP、UDP】);Name属性(控件的名称);State属性,返回WinSock控件当前的状态。
  (2)该次编程需用到的三个方法:Bind,SendData和GetData。
  Bind 方法 ,指定用于 TCP 连接的 LocalPort 和 LocalIP。
  SendData方法,当连接建立后,要发送数据就可以调用SendData方法,该方法只有一个参数,就是要发送的数据。
  GetData方法,当本地计算机接收到远程计算机的数据时,数据存放在缓冲区中,要从缓冲区中取出数据,可以使用GetData方法。
  (3)DataArrival事件当建立连接后,接受到了新数据就会触发这个事件。注意:如果在接受到新数据前,缓冲区中非空,就不会触发这个事件。
  二、程序的主要设计和代码
  程序的主界面是一个窗体,包含四个文本框控件、两个命令按钮和一个LIST控件。四个文本框控件分别用来做监听的端口号、远端的IP地址和端口号、发送的内容。两个命令按钮,分别做监听、发送命令。LIST控件用来显示发送和接受的内容。
  1.在窗体中添加一个Winsock控件,将其Protocol属性改为1-sckUDPprotocol。
  2.将“发送”按钮命名为command1, “监听”按钮命名为command2,监听端口下的text文本框命名为text1,两部电脑图标的Winsock控件命名为wc1,双击“监听”按钮输入如下程序,
  If wc1.State = 1 Or wc1.State = 2 Then
   wc1.Close
   Command1.Enabled = False
  End If
  wc1.Bind CInt(Text1.Text)
  Command1.Enabled = true
  将“IP”右边的文本框命名为Text3, text属性改为你的电脑的IP, “端口”右边的文本框命名为Text4,双击“发送”按钮,“要发送的数据”下面的文本框命名为Text5,输入如下代码:
  Dim ff As String
  ff = Text4.Text
  wc1.RemoteHost = Text2.Text
  wc1.RemotePort = Text3.Text
   wc1.SendData ff
  3.双击两部电脑图标,从代码窗口上部选择DataArrival事件,并输入如下代码:
  Dim kk As String
  wc1.GetData kk
  List1.AddItem kk “发送者IP:” wc1.RemoteHostIP,0
  开始运行程序。
  三、Winsock程序测试
  1.使用回环地址
  回环地址127.0.0.1,被称为本地回环地址(Loop back address)。它代表设备的本地虚拟接口,在windows操作系统中也有相似的定义,不安装网卡前可以ping通本地回环地址。该程序可以用回环地址自己给自己发信息。
   2.对方IP地址通信
  相互之间发信息,需用端口号和IP。通过与对方通信,来帮助学生理解传输层中端口号的概念。案例:同学A监听端口号9090,同学B监听8080,已知A的IP地址是192.168.1.103,B的IP地址是192.168.1.102,那么A给B发信息,就需要B监听8080端口,A使用IP地址192.168.1.102发送信息。如果B给A发信息,就需要A监听9090端口,B使用IP地址192.168.1.103.
  3.广播地址通信
  广播地址是专门用于同时向网络中所有工作站发送信息的地址。在使用TCP/IP 协议的网络中,主机标识段host ID 为全1 的IP 地址为广播地址,广播分组传送给host ID段所涉及的所有计算机。
  在实际教学中,机房IP地址段192.168.1.0/24的广播地址为192.168.1.255,发送端口为8080,所有同学监听8080端口,发送的信息全部同学可以同时接收。
  四、总结
  通过此次实验,不仅锻炼了学生的VB编程能力,同时用自己编写的程序来互相发送信息,让学生体验网络编程带来的成就感.帮助学生理解计算机网络中传输层的端口号和网络层IP地址的相关概念,同时了解了计算机网络中回环地址,本机地址和广播地址的相关概念,提高了学生学习计算机网络的兴趣.
  
  参考文献:
  [1]Andrew S.Tanenbau计算机网络第四版[M].北京:清华大学出版社,2005.
  [2]范剑波.Visual Basic网络程序设计[M].北京:科学出版社,2003.
  [3]鲁斌,李莉. 网络程序设计与开发 [M].北京:清华大学出版社,2010.
  责任编辑朱守锂
其他文献
现代中国广告业处于发展、整合期,存在着诸多亟待解决而又暂时不能解决的问题,这些问题与WTO时代要求共同形成对现代广告从业者生存、发展的挑战,现代广告从业者唯有面对挑战
摘要:英语写作最能体现学生的英语水平,目前中职英语写作教学中存在不容忽视的问题,即学生的英语写作水平普遍较低。采用以读促写,读写结合的教学方式是提高中职生英语写作水平的有效途径。  关键词:阅读教学;写作教学;读写结合  良好的英语书面表达能力是有效交际的重要手段之一。教师如果能够将阅读教学与写作教学有效地结合起来,在加强学生阅读能力和阅读技巧培养的同时进行写作能力的培养,以读促写,学以致用,对学
【正】 鲁迅先生一九三五年在《且介亭杂文》的《序言》中写道:“其实‘杂文’也不是现在的新货色,是‘古已有之’的,凡有文章,倘若分类,都有类可归,如果编年,那就只按作成的
本文浅析了中职学校英语语法教学中出现误差的原因,并提出了加强语法教学的若干策略。
中国共产党领导的多党合作和政治协商制度是我国社会主义的基本政治制度,也是我国民主政治的重要组成部分.参政议政与民主监督作为这一制度的重要体现,已日益成为我国民主政
摘要:本文列举了具体的教学案例,探讨了中职单片机课程教学中采用案例教学法的相关事项。  关键词:中职;单片机;案例教学法    中职生是一个特殊的学生群体,他们有很多专业课程与大学的课程相比理论深浅不同但名称相同,由于他们不仅在心智成熟度、生活经验和逻辑思维能力方面与大学生相比有明显的差距,而且在自信心、知识的积累和学习方法等方面也差于普通高中生,因此探索适合中职学生特点的教学方法就显得很有意义。
通过对汾河东干渠渠道改造工程的论述,阐明在城市用地日趋紧张的今天,在不改变原有渠道水利功能和用途的前提下,通过对渠道的科学改造,可以达到美化环境、增加可利用土地的目
实习是学生习得职业素质能力的重要过程。就现状而言,学生实习尚且处于粗放管理的状态。“教什么”、“如何教”、“学什么”、“如何学”几个问题是摆在职业教育实践教学研究
本文分析了氢氧化钠溶液标定实验误差产生的原因,并从系统误差、偶然误差和过失误差三方面入手,提出了减小实验误差的方法,从而让实验的结果更加准确、可靠。