第三节
TCPIP协议编程实验
━Wi
dows环境下基于TCPIP的信息传送程序设计11实验目的:1、掌握基于TCPIP协议进行远程通讯的原理2、掌握Sockets网络程序设计的原理和方法3、理解面向连接服务、面向无连接的特点12实验任务1学会Wi
sock网络编程基础2Wi
sock控件的属性和方法1.3实验环境Wi
dows98或Wi
dows2000操作系统,编译环境任选。1.4实验方法一、实验原理(一)TCPIP的特点和SocketTCPIP是网络上广泛应用的协议,其中IP是网络层的协议,它是无连接的;TCP是传输层的协议,它是面向连接的。在实际系统中,TCPIP通常在操作系统内核中实现,用户所能感受到的和可以用来进行网络程序开发的是操作系统提供的网络编程界面。在TCPIP网络环境下,网络编程界面称为套接字(Socket)(见图1)。应用程序1应用程序2
Socket
TCPIP协议核心
图1、TCPIP协议核心与应用程序关系图图1中的应用程序1和2可以是位于不同主机上的2个进程,他们的作用方式是客户服务器模式。1、Sockets编程原理(1)Sockets编程中的主要概念●协议、地址、端口:在Sockets编程中,传输层的协议既可以是TCP也可以是UDP。Sockets是用于网间进程通讯的,因此在标识上要进行网间进程标识。地址是标识主机的,在Sockets编程中通常指IP地址;而端口标识通信的进程,它可以是165535间的任何一个数字,其中1255保留给特定的服务、2561023保留给其它的一般服务(如路由函数)、
f10244999可以被任意的客户机端口使用、500065535可以被任意的服务器端口使用。地址端口就实现了网间进程标识。(协议、本地地址、本地端口号、远程地址、远程端口号)是一组五元相关。●面向连结、无连接、Socket类型:传输层中的TCP协议是面向连接的,UDP协议是无连接的,因此Socket主要有两种类型:流套接字用于TCPIP编程,提供面向连接的服务;数据报套接字用于UDPIP编程,提供无连接的服务。●网络字节顺序:不同的计算机存放多字节值的顺序不同,为保证数据的正确性,在网络协议中必须指定网络字节顺序。TCPIP协议使用16位整数和32位整数的高位先存格式。在编程中,调用hto
s和hto
l函数来转换端口(短整型数值)和地址(长整型数值)参数的字节顺序(2)Sockets编程原理●创建套接字:用socket来创建套接字。●指定本地地址:用bi
d来指定本地地址。●侦听连接:面向连接的服务中,服务器套接字在socket和bi
d后,就要调用liste
来侦听客户机的请求。●建立套接字连接:面向连接的服务中,客户机r