Socket编程摘要:TCPIP网络环境下的应用程序是通过网络系统编程接口socket实现的,本文以Cbuilder为编程语言,说明了在Wi
dows下基于SOCKET的网络编程原理和实现技术。关键词:Cbuilder;套接字(socket);客户机/服务器(C/S)一、概述网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯,它的基本模型就是客户机服务器模型,即两个进程之间相互通讯,其中一个提供一个固定的位置,而另一个则只需要知道这个固定的位置,并去建立两者之间的联系,然后完成数据的通讯就可以了,这里提供固定位置的通常称为服务器,而建立联系的通常叫做客户端。二、网络的基本概念(一)客户机服务器模式客户机服务器模型是网络应用的标准模型,这种模式将网络中的计算机分成两类:提出服务请求的一方称为客户机,提供服务的一方称为服务器,客户机服务器是个逻辑概念,客户机部分和服务器部分可以在同一物理机器上,也可在不同的物理机器上,与单机模式相比,客户机服务器模式可以使得负载在客户机和服务器之间平衡,增强了系统的稳定性和灵活性,使系统便于维护和应用。网间进程通信完全是异步的,相互通信的进程间既不存在父子关系,又不共享内存缓冲区,客户机与服务器分别表示相互通信的两个应用程序的进程,客户机/服务器模式通常采用监听/连接的方式实现,客户机进程是主动的,先发出请求给服务器,服务器端应用程序在一个端口监听对服务的请求,也就是说,服务进程一直处于休眠状态,直到有一个客户机对这个服务提出了连接请求,此时服务线程被“唤醒”并为客户提供服务,即对客户的请求做出适当的反应。(二)TCPIP协议TCPIP(Tra
smissio
Co
trolProtocolI
ter
etProtocol协议又叫网络通讯协议,中文译名为传输控制协议因特网互联协议,由专门负责对不同网络进行互联的互联网协议IP协议和用来检测网络传输中差错的传输控制协议TCP协议组成,该协议是因特网最基本的协议,也是国际互联网络的基础。TCPIP协议定义了电子设备(比如计算机)如何连入因特网,以及数据如何在它们之间传输的标准。TCPIP是一个四层的分层体系结构,每一层都呼叫它的下一层提供的网络来完成自己的需求。包括应用层、传输层、网络层、网络接口层,如下图:应用层Tel
et、FTP、HTTP、DNS、SMTPT等传输层TCP和UDP网络层IP、ICMP和IGMP网络接口层以太网、令牌环网、FDDI等应用层:应用程序间沟通的层。该层的协议主要有电子邮件传输协议(SMTP)、文件传输协议(r