onRequest:服务器“听”到客户发来 理想时,数据包丢失情况会比较严重。
连接请求后,这个事件就发生了。
此时服务器就 那么究竟应该选择使用哪一种协议呢?这通要表示接受(Accept)或不接受连接。
常是由需要创建的应用程序决定的。
下面的几个 DataArrival:如果对方使用SendData发来数 问题将有助于选择适宜的协议:据,这个事件就发生了。
此时应该处理这些发来 a.在收发数据的时候,应用程序是否需要得的数据,比如将它存到数据库中或显示出来等。
到客户端或者服务器的确认信息?如果需要,使 (3)属性(Property) 用TCP协议,在收发数据之前先建立明确的连 LocalPort:对服务器来说,是设置一个本地端 接,保证可靠性。
口,方法Listen将侦听来自它的消息。
b.传输数据量是否特别大(例如图象与声音 RemotePort:客户用来设置要访问的远端端 文件)?如果是,在连接建立之后,TCP协议将维口,即服务器端的LocalPort值。
护连接并确保数据的完整性。
不过,这种连接需 RemoteHost:客户用来指定要连接的计算机, 要更多的计算资源,因而从开销和效率上是比较既可以使用IP地址,如“123.123.123.123”,也可 “昂贵”的。
以使用计算机名。
C.数据发送是间歇的,还是在一个会话内完 State:Winsock控件所处的状态,也就是两台 成?如果应用程序在某个任务完成的时候需要通机器连接的状态。
知某个计算机,则UDP协议是更适宜的,其适合 发送数据量小的或者一些即时的数据。
2协议选择 通过以上分析我们得出:UDP协议比较适合 于通信双方不需要确认信息,传输即时消息、音频 在使用WinSock控件时,首先需考虑使用什 信息和视频信息等等。
比如我们常用的聊天软件么通信协议。
而通过
网络进行数据通信,需要用 ICQ和OICQ就是使用的UDP协议进行
通信的。
地址来标识网络中的主机,这样才能保证数据正 下面我们就来用VB中的Winsock控件实现基于确地发送到主机。
可使用的协议包括TCP协议 IJI)P协议的简单聊天程序。
和IJI)P协议,两种协议之间的重要区别在于它们的连接状态: 3,实例 QTCP协议(传输控制协议)是面向连接的协议,其原理与
常用的电话
系统相似。
在开始数 下面通过使用建立“聊天”程序的实例来说明据传输之前,用户必须先建立连接,然后才能进行 在VB中使用Winsock控件建立UDP程序。
通信,通信完成后需撤消连接。
其为两台主机提 所谓“聊天”程序是指两个程序能够发送数据供的是高可靠性的数据通信。
给对方,在此两个
程序之间是平等的、处于同一地 OUDP协议(用户数据报协议)是一种无连 址,没有服务器和客户的区别。
接协议,计算机之间的通信类似于邮局寄发邮件: 3.1确定计算机的名称消息从一台
计算机发送到另一台计算机,但发送 在与远程计算机相连接的时候,需要知道它方不保证数据能否安全无误的到达目的机器。
另 的IP地址或者它的“计算机名”。
IP地址是一串外,单次传输的最大数据量取决于具体的网络。
数字,每三个数字为一组,中间用点隔开(形如但是正由于UDP协议的无连接特性,以及其具有 XXX.XXX.XXX.XXX)。
通常,最易记住的是“计算资源消耗小,处理速度快的优点,所以通常在音 机名”。
频、视频和普通数据传送时使用较多。
原因在于 要确定“计算机名”,请按照以下步骤执行:这类应用即使偶尔丢失一两个数据包,也不会对 (1)在计算机的“任务栏”上,单击“开始”菜接收结果产生太大影响。
但在选择使用U)P协 单。
万方数据 成都电子机械高等专科学校学报 2005年第2期 总第31期 CHENGDU ELECTROMECHANICAL COLLEGE 2005年6月 19 (2)在“设置”项中,单击“控制面板”。
服务器的RemoteHost设置为客户程序的主 (3)双击“网络”图标。
机地址。
(4)单击“标识”选项卡。
服务器的RemotePort设置