21世纪高等学校计算机基础教育系列教材 第13章网络编程基础 人民邮电出版社
第13章 网络编程基础 •人民邮电出版社 21世纪高等学校计算机基础教育系列教材
Winsock控件 利用 Win Sock控件可以与远程计算机建立连接,并通过用户数据报文协议(UDP或 者传输控制协议(TCP)进行数据交换。这两种协议都可以用来创建客户端与服务器应用 程序。与 Timer控件类似, Win Sock控件在运行时是不可见的。使用这种控件可能的 用途有: 创建收集用户信息的客户端应用程序,并将收集的信息发送到某中央服务器 创建一个服务器应用程序,作为多个用户的数据的汇入点。 创建“聊天”应用程序 13.1.1选择通讯协议 在使用 Win Sock控件时,首先需要考虑使用什么协议。可以使用的协议包括TCP和 UDP。两种协议之间的重要区别在于它们的连接状态: TCP协议控件是基于连接的协议,可以将它同电话系统相比。在开始数据传输之前, 用户必须先建立连接 UD尸协议是一种无连接协议,两台计算机之间的传输类似于传递邮件:消息从一台 计算机发送到另一台计算机,但是两者之间没有明确的连接。另外,单次传输的最大数 据量取决于具体的网络 到底选择哪一种协议通常是由需要创建的应用程序决定的。下面的几个问题将有助于 选择适宜的协议 在收发数据的时候,应用程序是否需要得到客户端或者服务器的确认信息?如果需要 使用TCP协议,在收发数据之前先建立明确的连接 数据量是否特别大(例如图像与声音文件),在连接建立之后,TCP协议将维护连 接并确保数据的完整性。不过,这种连接需要更多的计算资源,因而是比较“昂贵”的。 数据发送是间歇的,还是在一个会话内?例如,如果应用程序在某个任务完成的时候 需要通知某个计算机,∪DP协议是更适宜的。∪DP协议适合发送少量的数据
WinSock 控件 利用 WinSock 控件可以与远程计算机建立连接,并通过用户数据报文协议 (UDP)或 者传输控制协议 (TCP)进行数据交换。这两种协议都可以用来创建客户端与服务器应用 程序。与 Timer 控件类似,WinSock 控件在运行时是不可见的。使用这种控件可能的 用途有: 创建收集用户信息的客户端应用程序,并将收集的信息发送到某中央服务器。 创建一个服务器应用程序,作为多个用户的数据的汇入点。 创建“聊天”应用程序。 13.1.1 选择通讯协议 在使用 WinSock 控件时,首先需要考虑使用什么协议。可以使用的协议包括 TCP 和 UDP。两种协议之间的重要区别在于它们的连接状态: TCP 协议控件是基于连接的协议,可以将它同电话系统相比。在开始数据传输之前, 用户必须先建立连接。 UDP 协议是一种无连接协议,两台计算机之间的传输类似于传递邮件:消息从一台 计算机发送到另一台计算机,但是两者之间没有明确的连接。另外,单次传输的最大数 据量取决于具体的网络。 到底选择哪一种协议通常是由需要创建的应用程序决定的。下面的几个问题将有助于 选择适宜的协议: 在收发数据的时候,应用程序是否需要得到客户端或者服务器的确认信息?如果需要, 使用 TCP 协议,在收发数据之前先建立明确的连接。 数据量是否特别大(例如图像与声音文件),在连接建立之后,TCP 协议将维护连 接并确保数据的完整性。不过,这种连接需要更多的计算资源,因而是比较“昂贵”的。 数据发送是间歇的,还是在一个会话内?例如,如果应用程序在某个任务完成的时候 需要通知某个计算机,UDP 协议是更适宜的。UDP 协议适合发送少量的数据
131.2协议的设置 在设计时,可以按如下方式设置应用程序中所使用的协议:在“属性”窗口中单 击“协议”,然后选择 sckTCPProtocol或者 sckUDPProtocol。也可以使用程 序代码来设置 Protocol属性,如下所示: Win Sock1 Protocol= sck tCPProtoco 131.3确定计算机的名称 在与远程计算机相连接的时候,需要知道它的P地址或者它的名称,就是在计 算机的属性中设定的计算机的名称(我的电脑属性,计算机名称)。|P地址是 串数字,每三个数字为一组,中间用点隔开(形如 XXX.XXX. XXX.XXX,例如 127.0.0.1)。通常,最易记住的是计算机的名称 上面找到的计算机名称可以作为 RemoteHost属性的值。 314①P连接初步 如果应用程序要使用TCP协议,那么首先必须决定应用程序是服务器还是客户端。如果 要创建一个服务器端,那么应用程序需要“监听”指定的端口。当客户端提出连接请求时, 服务器端能够接受请求并建立连接。在连接建立之后,客户端与服务器端可以自由地互相 通讯
13.1.2 协议的设置 在设计时,可以按如下方式设置应用程序中所使用的协议:在“属性”窗口中单 击“协议”,然后选择 sckTCPProtocol 或者 sckUDPProtocol。也可以使用程 序代码来设置 Protocol 属性,如下所示: WinSock1.Protocol = sckTCPProtocol 13.1.3 确定计算机的名称 在与远程计算机相连接的时候,需要知道它的IP 地址或者它的名称,就是在计 算机的属性中设定的计算机的名称(我的电脑属性,计算机名称)。IP 地址是一 串数字,每三个数字为一组,中间用点隔开(形如 xxx.xxx.xxx.xxx,例如 127.0.0.1)。通常,最易记住的是计算机的名称。 上面找到的计算机名称可以作为RemoteHost 属性的值。 13.1.4 TCP 连接初步 如果应用程序要使用 TCP 协议,那么首先必须决定应用程序是服务器还是客户端。如果 要创建一个服务器端,那么应用程序需要“监听”指定的端口。当客户端提出连接请求时, 服务器端能够接受请求并建立连接。在连接建立之后,客户端与服务器端可以自由地互相 通讯
程序设计举例见教材
程序设计举例见教材