Windows Sockets概述
1.Windows Sockets的优势:
(1)Windows Sockets是一个开放的标准库;
(2)Windows Sockets提供源代码可移植性;
(3)Windows Sockets支持动态链接;
动态链接库(DLL)是windows的重要特性,动态链接库是带有定义明确的接口的可执行过程的库,就像其名称所提示的那样,应用程序是在运行时动态链接这些库的,而不是在编译时静态链接。这种架构有诸多优点:
*当多个应用需要使用DLL时,可以共享代码,这意味着在内存中只需要代码的一个副本。
*应用和DLL是分离的,所以修改DLL时不需要改动应用(反之亦然)。
*所有提供兼容API的DLL也提供兼容的应用程序二进制接口(ABI)。
上述的最后一点最为重要,因为ABI允许可执行代码的移植,而不仅仅是源代码移植。这意味着一旦你编译和链接了你的源代码,生成了可执行程序,他可以运行于任何场厂商的Windows Sockets ABI上----即WinSock.DLL动态链接库文件。你不需要重新编译和链接你的源代码,就可以在不同的产商的WinSock.DLL上运行你的应用程序。另一方面,你也能够在不改变WinSock.DLL的情况下更新你的可执行程序,二进制可移植性为你提供了最完美的灵活性和便利性。
2.OSI网络参考模型的组成结构和WinSock网络模型。
在我们的Windows Sockets模型中,我们把所有比较靠下面的层次称为网络系统,把靠上面的层次称为WinSock应用程序,而WinSock的应用编程接口(API)位于两者之间。上述三个组成部分构成我们的WinSock网络模型。
WinSock应用程序:提供高层的功能(OSI的5-7层);
网络系统:提供低层的功能(OSI的1-4层);
WinSock API:允许高层访问底层的服务。
一个典型的网络系统具有下图所示的模块化结构,虽然也有可能有其他的配置。这个WinSock模型包括了任何能够提供符合Windows Sockets规范(1.1版本)的API的网络系统。
WinSock API (WSA)提供对网络系统的访问,而WinSock应用程序则利用系统的服务来发送和接收信息。在图2-2中,虚线表示WSA的位置,同时也代表网络系统和WinSock应用之间的任务分工,这条线同时也是与OSI网络模型中低层和高层之间的分界线吻合。
Windows Sockets概述相关推荐
- 《精通Windows Sockets网络开发--基于Visual C++实现》.(孙海民).[PDF]ckook
图书作者: 孙海民 图书编号: 9787115179111 图书格式: PDF 出 版 社: 人民邮电出版社 出版年份: 2008 图书页数: 400-500 [内容简介] windows socke ...
- 联不上网 Unable to initialize Windows Sockets interface. General failure.
电脑莫名联不上网 Unable to initialize Windows Sockets interface. General failure. Unable to initialize the W ...
- 【Tomcat】Unrecognized Windows Sockets error: 10106: Socket creation failed
tomcat8启动过程中报如下错误30-Nov-2017 22:45:52.892 严重 [main] org.apache.catalina.core.StandardServer.await St ...
- Windows Sockets错误标识及对应解释
WSAETIMEDOUT 对应 linux 的 ETIMEDOUT WSAETIMEDOUT 对应 linux 的 ETIMEDOUT IdWinsock2.pas 文件中也有说明. Windows ...
- java recv failed,jmeter压测报错Unrecognized Windows Sockets error: 0: recv failed
问题描述 jmeter并发数500,ramp-up=0报错: 错误1 java.net.SocketException: Unrecognized Windows Sockets error: 0: ...
- Windows Sockets 2.0 新特性
Win7里的头文件<Winsock2.h> 库文件<Ws2_32.dll> Windows Sockets 2.0 的新特性 WinSock2支持的协议不仅仅是TCP/IP家族 ...
- Windows Sockets 错误码及出错原因
From: http://blog.csdn.net/mjay1234/article/details/7684316 Windows Sockets在头文件winsock.h中定义了所有的错误码,它 ...
- Windows Embedded CE 6.0开发初体验(一)Windows CE概述
这篇文章的目的并不是介绍Windows Embedded CE开发的方方面面,只是用一个初涉嵌入式领域的软件开发者的视角来介绍Windows CE开发中最常用的概念和知识,解决大家会在实际开发中碰到的 ...
- 操作系统权限提升(十二)之绕过UAC提权-Windows UAC概述
系列文章 操作系统权限提升(一)之操作系统权限介绍 操作系统权限提升(二)之常见提权的环境介绍 操作系统权限提升(三)之Windows系统内核溢出漏洞提权 操作系统权限提升(四)之系统错误配置-Tus ...
最新文章
- 阅读豆丁网----基于模型的混合多目标算法的研究
- 配置Cisco ASA and Cisco *** Client 4.x with Windows 2003 IAS RADIUS Authentication
- centos系统盘满了 如何清理_教你5步把系统盘迁移至SSD,让你的电脑加速,瞬间提升10倍!...
- java中try-catch另外一种用法:try(){}语法使用
- SQL查询过滤Where子句用法
- C#使用iTextSharp操作PDF文件
- jsoup html转义处理,jsoup解析网页出现转义符问题
- 图片浏览器每次只能打开一张图片_好嗨哟!微信图片批量提取下载,我只用了3秒钟~...
- php 取整函数 ceil floor round intval 随笔
- Codeforces 1096F(dp + 树状数组)
- python引入模块教程_python进阶教程之模块(module)介绍
- [UE4]蓝图的颜色
- 「本地搭建」worpress博客系统
- spss因子分析结果解读_【SPSS数据分析】SPSS聚类分析(R型聚类)的软件操作与结果解读 ——【杏花开生物医药统计】...
- 信贷反欺诈场景中策略与模型的搭建|实操一大反欺诈模型
- matlab白噪声生成,数字信号处理——matlab生成白噪声
- 小白快速入门Laravel 5.8框架
- Android 商品详情页
- windows之C盘清理 - - 小黑日常超细解决教程
- SUN Solaris10 安装配置NET-SNMP——方式2(pkg软件包)
热门文章
- Python.习题七 函数(上)
- 套利[题目][j2]
- 游戏服务器被攻击了怎么办?
- 无线打印机服务器属性,为什么我的打印机能在打印机
- 打印机显示检查打印服务器,win10系统打开打印机提示再次检查打印机的名称怎么办...
- 【面试被虐】如何只用2GB内存从20亿,40亿,80亿个整数中找到出现次数最多的数?
- 企业邮箱域名怎么选?公司邮箱格式怎么写?
- 形式化方法:Linear Arithmetic
- Cylinder Candy(zoj 3866 旋转体体积和表面积)
- 恶意代码逆向静态分析之键盘记录(键盘钩子)以及代码实现 有手就行