对应OSI七层网络模型[11],Winsock工作在传输层和网络层,主要负责控制数据的输入和输出。由于Winsock屏蔽了数据链路层和物理层,使得应用程序不必考虑底层结构只要直接调用Winsock的API便可实现相互之间的通信[12],这给Windows下的网络编程带来了巨大的方便。

2.2.1  流式套接字模型

流式套接字方式对应传输层的TCP协议,是面向连接的,提供了双向的、有序的、无重复的数据流服务。在这种方式下,两个应用程序在通信前先要建立连接。只有通信的一端与另一端建立连接后,数据才能被正确接收和发送。由于这种方式是面向连接的,所以它可以按顺序无重复的将数据发送到目的端,确保了数据传输的可靠性。鉴于流式套接字通信可靠的特点,且对数据有校验和重发的机制,通常用于文件传输。使用流式套接字时,服务器首先要创建一个用于监听的套接字,调用bind函数将其绑定到一个公共的服务器端口上,然后调用listen()函数使它处于监听状态,等待客户端发起连接;客户端在创建套接字后调用connect()函数,请求与服务器连接;服务器套接字收到连接请求后,调用accept()函数接受此连接请求并建立一个新的套接字来与对方通信,称为会话套接字;原来的监听套接字继续监听,等待其他的连接请求,而新建立的套接字才是与客户端实际进行通信的套接字;通信结束后,客户端调用closesocket()函数关闭套接字,服务器也调用此函数关闭监听套接字和会话套接字,释放资源。

上一篇:切换脉冲系统的观测器设计与仿真
下一篇:VC++防空高炮毁歼概率分析计算软件设计

基于Kinect手势识别的遥操...

基于51单片机自动门智能控制系统设计

基于TI-DSP平台的电力电子测控平台设计

基于传感器网络的分布式集员滤波问题的研究

基于飞思卡尔芯片LED色彩控制器的设计

基于磁共振技术的家用无...

基于simulink的三相桥式全控...

《水浒传》中血腥暴力研...

小型通用机器人控制系统设计任务书

高效课堂教师问卷调查表

MNL模型历史城区居民活动...

从企业eHR建设谈管理信息...

遥感土地用变化监测国内外研究现状

提高小學语文課堂朗读教...

浅析施工企业保理融资成...

PCI+PID算法直流力矩电机速...

大规模MIMO系统的发展研究现状