2024年4月28日发(作者:)
Socket 通信
一、知识点回顾
1、Socket的概念:
Socket的英文原意是“插座”。抽象出来,socket实质上提供了进程通信的端点,进
程通信前,双方首先必须各自创建一个端点,否则是没有办法建立联系并相互通信的。一
个完整的socket接口用一个相关描述就是:{协议,本地地址,本地端口,远地地址,远
地端口}(这也就是网间网通信进程需要的五元组标示)。
2、客户/服务器模式:
在TCP/IP网络应用中,通信的两个进程间相互作用的主要模式是客户/服务器,即客
户向服务器发出服务请求,服务器接收到请求后,提供相应服务。客户/服务器模式的建立
基于以下两点:首先,建立网络的起因是网络中软硬件资源、运算能力和信息不均等,需
要共享,从而造就拥有众多资源的主机提供服务,资源较少的客户请求服务这一非对等作
用。其次,网间进程通信完全是异步的,相互通信的进程间既不存在父子关系,又不共享
内存缓冲区,因此需要一种机制为希望通信的进程间建立关系,为二者的数据交换提供同
步,这就是基于客户/服务器模式的TCP/IP。
二、程序模块及函数介绍
1、面向连接的套接字系统时序图
2、各函数介绍
(1)加载socket库──WSAStartup()
每个Winsock应用程序必须加载相应版本的Winsock DLL。如果在调用Winsock
函数前没有加载Winsock库,函数返回SOCKECT_ERROR,出错代码将是
WSANOTINITIALISED。
原型:int WSAStartup(WORD wVersionRequested,LPWSADATA lpWSAData)
例如: int err;
WSADATA wsaData;
发布评论