WindowsSocket网络编程.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
Windows Socket 网络编程 Windows Socket 网络编程是指在Windows操作系统中使用Socket API进行网络编程的技术。Socket是一种标准的网络编程接口,允许不同的操作系统和网络协议进行通信。 一、 客户机/服务器模式 在TCP/IP网络中,两台机器之间的相互作用的模式被称为客户机/服务器模式(Client/Server model)。该模式的建立基于以下两点: 1. 非对等作用:客户机和服务器之间的作用是非对等的,服务器负责提供服务,而客户机负责请求服务。 2. 通信完全是异步的:客户机和服务器之间的通信是异步的,客户机发送请求后,服务器处理请求并返回响应。 客户机/服务器模式的工作过程如下: 1. 服务器方:服务器首先启动,并根据请求提供服务:(过程如下) * 打开一个通信通道,并告知本地主机,它愿意在某一个公认地址上接收客户机请求。 * 等待客户机请求到达该端口。 * 接收到重复服务请求,处理该请求并发送应答信号。 * 返回第二步,等待另一个客户机请求。 * 关闭服务器。 2. 客户机方: * 打开一个通信通道,并连接到服务器所在主机的特定端口。 * 向服务器发送服务请求报告,等待并接收应答; * 继续提出请求…… * 请求结束后关闭通信通道并终止。 二、基本套接字 为更好地说明套接字编程原理,下面给出几个基本的套接字: 1. 创 建 套 接 字 — — socket() 功能:使用前创建一个新的套接字。 格式: SOCKET PASCAL FAR socket(int af, int type, int protocol); 参数: * af: 通信发生的区域 * type: 要建立的套接字类型 * protocol: 使用的特定协议 2. 指定本地地址 — — bind() 功能:将套接字地址与所创建的套接字号联系起来。 格式: int PASCAL FAR bind(SOCKET s, const struct sockaddr FAR * name, int namelen); 参数: * s: 是由socket()调用的未连接的套接字描述符(套接字号)。 * name: 套接字地址结构体。 地址结构体说明: struct sockaddr_in { short sin_family; // AF_INET u_short sin_port; // 16位端口号,网络字节顺序 struct in_addr sin_addr; // 32位IP地址,网络字节顺序 char sin_zero[8]; // 保留 } 3. 建立套接字连接 — — connect() 和 accept() 功能:共同完成连接工作。 格式: int PASCAL FAR connect(SOCKET s, const struct sockaddr FAR * name, int namelen); SOCKET PASCAL FAR accept(SOCKET s, struct sockaddr FAR * name, int FAR * addrlen); 参数:同上 4. 监听连接 — — listen() 功能:用于面向连接服务器,表明它愿意接收连接。 格式: int PASCAL FAR listen(SOCKET s, int backlog); 5. 数 据 传 输 — — send() 和 recv() 功能:数据的发送与接收。 格式: int PASCAL FAR send(SOCKET s, const char FAR * buf, int len, int flags); int PASCAL FAR recv(SOCKET s, const char FAR * buf, int len, int flags); 参数: * buf: 指向存有传输数据的缓冲区的指针。 以上是 Windows Socket 网络编程的基本概念和套接字编程原理,了解这些基本概念和套接字函数是进行网络编程的基础。
- 粉丝: 17
- 资源: 26万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助