开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第1天,点击查看活动详情
1.Winsock API安装在“传输层”和“应用层”之间
解析:
通过查阅socket的概念介绍得到答案。
socket翻译为套接字,socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用以实现进程在网络中通信。
七层协议 举例
应用层 例如HTTP、SMTP、SNMP、FTP、Telnet、SIP、SSH、NFS、RTSP、XMPP、Whois、ENRP
表示层 例如XDR、ASN.1、SMB、AFP、NCP
会话层 例如ASAP、TLS、SSH、ISO 8327 / CCITT X.225、RPC、NetBIOS、ASP、Winsock、BSD sockets
传输层 例如TCP、UDP、RTP、SCTP、SPX、ATP、IL
网络层 例如IP、ICMP、IGMP、IPX、BGP、OSPF、RIP、IGRP、EIGRP、ARP、RARP、 X.25
数据链路层 例如以太网、令牌环、HDLC、帧中继、ISDN、ATM、IEEE 802.11、FDDI、PPP
物理层 例如线路、无线电、光纤、信鸽
2.Windows Sockets规范定义了一套Micosoft Windows下网络编程接口,它不仅包含了Berkeley Socket风格的库函数,也包含了一组针对Windows的扩展库函数。
14.应用程序调用Windows Sockets的API,实现相互之间的通讯。Windows Sockets又利用下层的网络通讯协议功能和操作系统调用,实现实际的通讯工作。
15.Microsoft公司联合intel sun、informix、novell等几家公司共同制定了一套Windows操作系统下的网络变成接口,它就是Windows-Sockets规范。
解析自百度百科:
Windows Sockets规范以U.C.Berkeley大学BSD UNIX中流行的Socket接口为范例定义了一套Micosoft Windows下网络编程接口。它不仅包含了人们所熟悉的Berkeley Socket风格的库函数;也包含了一组针对Windows的扩展库函数,以使程序员能充分地利用Windows消息驱动机制进行编程。
遵守这套Windows Sockets规范的网络软件,我们称之为Windows Sockets兼容的,而Windows Sockets兼容实现的提供者,我们称之为Windows Sockets提供者。一个网络软件供应商必须百分之百地实现Windows Sockets规范才能做到现Windows Sockets兼容。
任何能够与Windows Sockets兼容实现协同工作的应用程序就被认为是具有Windows Sockets接口。我们称这种应用程序为Windows Sockets应用程序。
Windows Sockets规范定义并记录了如何使用API与Internet协议族(IPS,通常我们指的是TCP/IP)连接,尤其要指出的是所有的Windows Sockets实现都支持流套接口和数据报套接口.应用程序调用Windows Sockets的API实现相互之间的通讯。Windows Sockets又利用下层的网络通讯协议功能和操作系统调用实现实际的通讯工作。
3.流式套接字提供了双向的,有序的,无重复并且无记录边界的数据流服务。
解析自套接字编程原理:
socket共有以下几种不同类型
1.流式套接字(stream socket)
定义:#define SOCK_STREAM 1
流式套接字提供了双向,有序无重复以及无记录边界的数据流服务(适合处理大量数据),由于面向连接,所以必须建立数据传输链路。
2.数据报套接字(datagram socket)
定义:#define SOCK_DGRAM 2
数据报套接字支持双向的数据流但不保证传输数据的准确性,是无连接的。
3.原始套接字(raw-protocol interface)
定义:#define SOCK_RAW 3
4.基本套接字
socket开发所需要的文件
头文件:winsock2.h
库文件:WS2_32.LIB
动态库:WS2_32.DLL
4.Intel 86处理器上,用“小头”形式来表示多字节编号,“互联网联网标准”指定多字节值必须用“大头”形式来表示。
18.Little-Endian就是低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。
19.Big-Endian就是低位字节放在内存的高地址端。
解析自字节排序
针对大头(big-endian)和小头(little-endian)形式的编号,不同计算机处理器的表示方法有所不同,根据各自的设计来决定:
Intel 86处理器上用小头形式来表示多字节编号(字节排序从最无意义的字节到最有意义的字节)。
互联网联网标准指定多字节值则必须用大头形式来表示(最有意义的字节到最无意义的字节)。
5.无保护消息边界的协议(或者是TCP协议)通常称作“基于流的协议”
解析:
TCP是面向流的协议,它是不保护消息边界的;(即无保护消息边界的协议)
UDP是面向消息的协议,它是保护消息边界的, 要保证你发的数据包每次接收的大小和发送时一样,应该使用UDP的协议.
碎碎念:我觉得这题也可以填TCP
6.加载相应的Winsock DLL库通过调用WSAStartup()函数实现的。
20.Winsock应用程序第一个调用的API是WSAStartup()函数。
解析:
使用 DLL 之前,还需要调用 WSAStartup() 函数进行初始化,以指明 WinSock 规范的版本。
文章来源于本人的csdn博客搬运,(1条消息) _mika_的博客_CSDN博客-【计算机组成结构】,【Linux】,【Python学习】领域博主,侵权必究。