1.Winsock(套接字)接口主要有几种类型:
2.TCP/IP数据使用了大端模式还是小端模式:
3.请写出从主机字节转顺序转换为网络字节顺序的API:
4.请写出从网络字节顺序转换到主机字节顺序的API:
5.请写出inet_ntoa和inet_addr函数的作用是什么:
6.请写出sockaddr_in结构属性的含义:
7.请写出in_addr结构的属性含义:
8.请写出WSAStartup()函数的作用与参数含义:
9.WSACleanup()函数的作用是什么
10.socket()函数的作用是什么:
11.closeSock()函数的作用是什么:
12.bind()函数的作用是什么:
13.listen()函数的作用是什么:
14.accept函数的作用是什么:
15.connec函数的作用是什么:
16.send和recv函数的作用是:
17.listen是否能够使用在connect功能的套接字上:
18.如果SOCKET连接外网失败那么可能是:
答案在下面
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
1.WinSock(套接字)主要有3种类型
(1)流套接字(SOCK_STREAM),流类型套接字主要是为需要可靠连接的应用程序设计的,这些程序经常使用连续的数据流,用于这种类型的套接字协议的是TCP,流套接字是最常用的名比如HTTP/TCP/SMTP/POP3都是用流套接字
(2)数据包协议套接字(SOCK_DGRAM)数据包套接字使用UDP作为下层协议,是无连接的,有一个最大缓冲区大小,它是为那些需要发送小数据包,并且对可靠性要求不高的应用程序设计的,与流套接字不同,数据包套接字并不保证数据会达到终端,也不保证它是以正确的顺序到来的,数据包套接字传输效率相当高,它经常用于音频或视频应用程序。
(3)不经常使用的有一种类型为原始套接字(raw socket)等
2.全部统一为大端模式
3.从主机顺序字节转换为网络顺序字节API:
u_short htons(u_short hosthort);
u_long htonl(u_long hostlong);
4从网络顺序字节转换到主机顺序字节API:
u_short ntohs(u_short netshort);
u_long ntohl(u_long netlong);
5.inet_ntoa是inet_addr函数的逆函数,它将一个网络字节顺序的32位IP地址转化成字符串char * inet(struct in_addr in);将32位的二进制数转换为字符串。
6.
struct sockaddr_in {
short sin_family;//地址家族
u_short sin_port;//端口号
struct in_addr sin_addr;//IP地址
char sin_zero[8];//空字节、设置为0
};
7.
typedef struct in_addr {
union {
struct { UCHAR s_b1,s_b2,s_b3,s_b4; } S_un_b;
struct { USHORT s_w1,s_w2; } S_un_w;
ULONG S_addr;
} S_un;
使用了union联合体共享了同一块堆,提供了3种IP地址的写入方式,4个BYTE
2个short,1个unsigned long类型
8.WSAStartup()函数的作用是初始化sock的初始化,他可以指定应用程序的所需的Windows Sockets API的版本来获取Winsock实现的详细信息,仅当着函数成功执行之后,应用程序才能调用其他WinsockAPI。
例子:
#pragma comment(lib,”wsock.lib”)
int main(){
WORD Version;
Version=MAKEWORD(2,2);//指定版本号
WSADATA wsadata;//返回DLL库的详细信息
WSAStartup(Version,&wsadata);}
9.WSAClanup();函数的作用是释放WSAStartup()
10.socket();函数的作用是创建套接字.
例子:
socket(AF_INET,SOCK_STREAM,0);
AF_INET是套接字使用的地址形式
SOCK_STREAM是流套接字,使用TCP协议提供连接的可靠传输
SOCK_DGRAM 是数据报套接字,使用UPD提供无连接的不可靠传输
SOCK_RAM 是原始套接字,WinSock接口并不使用某种特定的协议封装他
0是指定协议的类型如果是SOCK_STREAM则指定为0,也可指写为宏IPPROTO_TCP
11.closeSock函数的作用是根据socket返回的套接字对象关闭套接字。
12.bind函数的作用是绑定套接字到指定的IP地址和端口号。
例子:
Int res=bind(socket套接字句柄,(LPSOCKADDR)关联的sockaddr_in结构,结构长度);
13.listen函数是设置套接字进入监听状态,例子listen(套接字句柄,监听队列中也许保持尚未处理的最大连接数)
14.accept函数用于接收到来的连接
例子:accept(套接字句柄,(LPSOCKADDR)&sockadd_in,结构长度);
15.connet函数是与服务器发起连接
例子:connect(套接字句柄,sockaddr_in,结构长度);
16.send是发送数据,recv是接收数据这是相对于流套接字的
例子: send(套接字句柄,发送数据缓冲区的地址,缓存区长度,指定调用方式通常为0);
Recv(套接字句柄是accept返回的的句柄,其他的我一样)函数一样
17.listen函数不能使用在connect的套接字上因为listen会使套接字进入被动模式接受发送accept连接这会导致connect函数无法主动发送数据因此严禁在connect套接字上使用listen函数
18.如果SOCKET连接失败可能是防火墙没有关闭或者没有进行端口转发,比如我自己的腾讯云监听1223端口但就是不行结果是没有在腾讯云控制台中设置对应端口的开放

C++SOCKET面试题附答案相关推荐

  1. 常见的HTML5面试题(附答案)

    常见的HTML5面试题(附答案) 1.HTML5有哪些新特性?移除了哪些元素? HTML5的新特性如下: 1.拖放( Drag and drop)APIl 2.语义化更好的内容标签( header.n ...

  2. 2019最新整理JAVA面试题附答案

    2019最新整理JAVA面试题附答案 包含的模块: 本文分为十九个模块,分别是:Java 基础.容器.多线程.反射.对象拷贝.Java Web .异常.网络.设计模式.Spring/Spring MV ...

  3. 基础的VueJS面试题(附答案)

    基础的VueJS面试题(附答案) 1.什么是MVVM框架?它适用于哪些场景? MVVM框架是一个 Model-View-View Model框架,其中 ViewModel连接模型Model)和视图(V ...

  4. 常见的面向对象的面试题(附答案)

    常见的面向对象的面试题(附答案) 1.JavaScript是怎么样实现继承的?请举例说明. JavaScript通过 prototype属性实现继承,继承的属性方法是共享的,例如Chid子类继承 Pa ...

  5. 2022前端开发React面试题 附答案

    2022前端开发社招React面试题 附答案 1:讲讲什么是 JSX ? 主题: React 难度: ⭐⭐⭐ 当 Facebook 第一次发布 React 时,他们还引入了一种新的 JS 方言 JSX ...

  6. Word计算机与网络应用原题,计算机应用基础考试试题附答案

    计算机应用基础考试试题附答案 计算机应用普及到社会经济更多的领域.第三代集成电路计算机具有良好的性能价格比和可靠性,它促进了计算机的推广应用.下面是小编为大家整理的计算机应用基础考试试题附答案,欢迎参 ...

  7. 美图php面试题目,据说是雅虎的一份PHP面试题附答案

    据说是雅虎的一份PHP面试题附答案 更新时间:2009年01月07日 23:23:32   作者: 雅虎的一份PHP面试题附答案 从网上搜集到的,据说是雅虎的面试题. 1. Which of the ...

  8. 一级计算机考试模拟知识点,计算机一级MSOffice考试模拟试题附答案

    计算机一级MSOffice考试模拟试题附答案 做试题是备考2017计算机一级MSOffice考试的最好方法,下面小编为大家整理了计算机一级MSOffice考试模拟试题附答案. 选择题 1). 在微机的 ...

  9. 2017c语言考核册答案,2017年C语言考试试题附答案

    子曰:"由,诲女知之乎?知之为知之,不知为不知,是知也."以下是小编为大家搜索整理2017年C语言考试试题附答案,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网! ...

  10. 全国计算机等级考试二级cpp试题,2017年全国计算机二级C++考试试题附答案

    2017年全国计算机二级C++考试试题附答案 C++是由C发展而来的,与C兼容.用C语言写的程序基本上可以不加修改地用于C++.下面是小编收集的全国计算机二级C++考试试题附答案,希望大家认真阅读! ...

最新文章

  1. 转载-对js中new、prototype的理解
  2. CentOS 6.3定制自动安装
  3. linux线程间通信优点,进程间通信与线程间通信【转】
  4. 关于github里readme编辑的方法
  5. 英特尔提前发布财报源自一张图表被披露 公司已开始调查
  6. Maven多工程项目
  7. html 怎么设置时间函数,JavaScript日期函数 - 计时器、innerHTML
  8. 第一个scrum会议
  9. 新闻:西部数据拟200亿美元收购原东芝存储 《创新者的窘境》硬盘发展史
  10. 关于FbinstTool加入360急救盘见解
  11. javascript时钟代码 DEMO-002
  12. Dreamweaver cc 2019
  13. 医学英文文献怎么找?
  14. 建群网培PMP每日一练2020-7-17
  15. 2018入门级手机VR眼镜对比区别:ugp vr眼镜怎么样?目前哪个vr眼镜牌子效果更好,vr眼镜选哪款?
  16. opencv 矩阵行列求和
  17. 计算机操作系统第四章虚拟存储器
  18. php 量化交易 开源,hikyuu开源量化交易研究框架 v1.0
  19. Windows 8寄托着微软对移动计算、客厅控制和超级操作系统的全新理解与尝试
  20. Windows命令行查看盘符-列盘符

热门文章

  1. 电力电子技术(12)——整流电路的谐波和功率因数
  2. 继电保护整定值计算软件_继电保护整定计算软件
  3. python3 打开网页方法
  4. win7计算机怎么优化驱动器,win7电脑怎么优化
  5. 英伟达官网如何下载显卡老版本驱动
  6. 前端常用布局大全——细致讲解
  7. JAVA获取本机IP地址
  8. php调用人脸识别接口,PHP实现人脸识别
  9. 【python】将图片格式转换为RGB格式
  10. 北京大学计算机学院课程表,北京大学课程表.PDF