Window s Socket 网络编程(二) —— 套接字编程原理 作者: 冰点工作室 小鹰 一、客户机 /服务器模式 在 TCP/IP 网络中两个进程间的相互作用的主机模式是客户机 /服务器模式(Client/Server model)
该模式的建立基于以下两点:1、非对等作用;2、通信完全是异步的
客户机/服务器模式在操作过程中采取的是主动请示方式: 首先服务器方要先启动,并根据请示提供相应服务:(过程如下) 1、打开一通信通道并告知本地主机,它愿意在某一个公认地址上接收客户请求
2、等待客户请求到达该端口
3、接收到重复服务请求,处理该请求并发送应答信号
4、返回第二步,等待另一客户请求 5、关闭服务器
客户方: 1、打开一通信通道,并连接到服务器所在主机的特定端口
2、向服务器发送服务请求报文,等待并接收应答;继续提出请求…… 3、请求结束后关闭通信通道并终止
二、基本套接字 为了更好说明套接字编程原理,给出几个基本的套接字,在以后的篇幅中会给出更详细的使用说明
1、创建套接字——socket() 功能:使用前创建一个新的套接字 格式:SOCKET PASCAL FAR socket(int af,int type,int procotol); 参数:af: 通信发生的区域 type: 要建立的套接字类型 procotol: 使用的特定协议 2、指定本地地址——bind() 功能:将套接字地址与所创建的套接字号联系起来
格式:int PASCAL FAR bind(SOCKET s,const struct sockaddr FAR * name,int namelen); 参数:s: 是由 socket()调用返回的并且未作连接的套接字描述符(套接字号)
其它:没有错误,bind()返回 0,否则 SOCKET_ERROR 地址结构说明: st