博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第二章 设计Winsock
阅读量:4684 次
发布时间:2019-06-09

本文共 1106 字,大约阅读时间需要 3 分钟。

2.1 系统体系结构

提供程序分为两种类型:基础提供程序和分层提供程序。

基础提供程序位于传输协议顶端

分层提供程序位于WS2_32.DLL之下,基础提供程序之上,能截获并操纵Winsock调用

如果一个应用程序利用分层提供程序创建了一个套接字,分层提供程序将使用该套接字截获所有的Winsock调用。分层提供程序可能会阻塞,修改调用,也可能将未经修改的调用传递给底层的提供程序。

2.2 协议的特征

2.2.1 面向消息

2.2.2 面向流

不保留消息边界的协议通常称为“基于流的协议”。

2.2.3 伪流

发送端必须分别发送每个独立的数据包,但接收端可以按任何使用的大小自由合并收到的数据包。

2.2.4 面向连接和无连接

2.2.5 可靠性和有序性

2.2.6 正常关闭

正常关闭只出现在面向连接的协议中。在这种关闭过程中,其中一方开始关闭通信会话,但此时另一方仍然可以读取线路上或网络堆栈上挂起的数据。如果面向连接的协议不支持正常关闭,则只要其中一方关闭了通信信道,就会出现连接立即中断,接收端丢失还未读取的数据这些情况。如果使用的是TCP协议,则连接双方都必须执行一次关闭,才能完全中断连接。

2.2.7 广播数据

所谓广播数据,就是从一个工作站发出数据,局域网内的其他所有工作站都能收到。(适用于无连接协议)

2.2.8 多播数据

多播是指一个进程发送数据而一个或多个接收端可接收到数据的能力。

2.2.9 服务质量

服务质量(QOS)体现了应用程序请求独占网络宽带的能力。

2.2.10 部分消息

部分消息只用于面向消息的协议。

2.2.11 路由选择的考虑

对应用程序开发者而言,一个需要考虑的重要方面,就是协议是否可路由。如果协议可路由,就可在两个工作站之间顺利地建立一条通信路径,至于这两个工作站之间的网络硬件是什么,则无关紧要。

2.2.12 其他特征

2.3 Winsock编录

Winsock编录是一个数据库,它包含系统中可用的各种不同的协议。

要想获得系统中安装的网络协议的相关信息,可以调用WSAEnumProtocols函数,这个函数定义为:

  int WSAEnumProtocols(

    LPINT lpiProtocols,

    LPWSAPROTOCOL_INFO lpProtocolBuffer,

    LPDWORD lpdwBufferLength

  );

2.3.1 Winsock编录和Win64

2.3.2 创建套接字

 

转载于:https://www.cnblogs.com/momo-unique/articles/3330694.html

你可能感兴趣的文章
MySQL 网络访问连接
查看>>
在aws ec2上使用root用户登录
查看>>
数据访问 投票习题
查看>>
CIO知识储备
查看>>
cnblog!i'm coming!
查看>>
使用点符号代替溢出的文本
查看>>
Axios 中文说明
查看>>
fatal: remote origin already exists.
查看>>
gridview 自定义value值
查看>>
svn 的一些资料
查看>>
Json第三方类库Json.Net,声称超过其他Json序列化机制
查看>>
windows下xgboost安装到python
查看>>
[C#源码]VS各版本转换器(支持VS2012,VS2013)
查看>>
[POJ3281] Dining
查看>>
Ubuntu 14.04 SSH + 远程登录xrdp
查看>>
利用MacBook Air入侵无线网络
查看>>
PAIP.MYSQL SLEEP 连接太多解决
查看>>
说说icon图标
查看>>
C++内联函数
查看>>
25、Django实战第25天:讲师详情页
查看>>