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

2.2.1  流式套接字模型

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

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

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

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

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

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

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

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

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

拉力采集上位机软件开发任务书

浅谈新形势下妇产科护理...

国内外无刷直流电动机研究现状

辩护律师的作证义务和保...

高校网球场馆运营管理初探【1805字】

谷度酒庄消费者回访调查问卷表

浅谈传统人文精神茬大學...

《醉青春》导演作品阐述

多元化刑事简易程序构建探讨【9365字】

中国古代秘书擅权的发展和恶变