全球旧事资料 分类
Csocket编程基础(理论)
一、网络编程简介
对于SOCKET在这里我不想究其历史我只想说其时它是一种进程通讯的方式简言之就是调用这个网络库的一些API函数就能实现分布在不同主机的相关进程之间的数据交换SOCKET中首先我们要理解如下几个定义概念;1、IP地址IPAddress我想很容易理解就是依照TCPIP协议分配给本地主机的网络地址就向两个进程要通讯任一进程要知道通讯对方的位置位置如何来确定就用对方的IP;2、端口号用来标识本地通讯进程方便OS提交数据就是说进程指定了对方进程的网络IP但这个IP只是用来标识进程所在的主机如何来找到运行在这个主机的这个进程呢就用端口号;3、连接指两个进程间的通讯链路;4、半相关网络中用一个三元组协议,本地地址,本地端口号可以在全局唯一标志一个进程,这样一个三元组,叫做一个半相关它指定连接的每半部分。5、全相关一个完整的网间进程通信需要由两个进程组成,并且只能使用同一种高层协议。也就是说,不可能通信的一端用TCP协议,而另一端用UDP协议。因此一个完整的网间通信需要一个五元组协议,本地地址,本地端口号,远地地址,远地端口号来标识:这样一个五元组,叫做一个相关associatio
,即两个协议相同的半相关才能组合成一个合适的相关,或完全指定组成一连接。在TCPIP网络应用中,通信的两个进程间相互作用的主要模式是客户端服务器模式Clie
tServermodel,即客户向服务器发出服务请求,服务器接收到请求后,提供相应的服务。客户服务器模式的建立基于以下两点:首先,建立网络的起因是网络中软硬件资源、运算能力和信息不均等,需要共享,从而造就拥有众多资源的主机提供服务,资源较少的客户请求服务这一非对等作用。其次,网间进程通信完全是异步的,相互通信的进程间既不存在父子关系,又不共享内存缓冲区,因此需要一种机制为希望通信的进程间建立联系,为二者的数据交换提供同步,这就是基于客户端服务器模式的TCPIP。客户服务器模式钥纪纪作过程中采取的是主动请求方式:首先服务器方要先启动,并根据请求提供相应服务:1打开一通信通道并告知本地主机,它愿意在某一公认地址上周知口,如FTP为21接收客户请求;2等待客户请求到达该端口;3接收到重复服务请求,处理该请求并发送应答信号。接收到并发服务请求,要激活一新进程来处理这个客户请求如UNIX系统中用fork、exec。新进程处理此客户请求,并不需要对其它请r
好听全球资料 返回顶部