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. Flume向HDFS写数据实例
  2. 自反访问控制列表(ACL)
  3. Struts2.xml
  4. css display: inline-block 去间隙
  5. c盘怎么清理到最干净_系统垃圾太多,怎么一键彻底清理干净
  6. 特殊权限 set_uid、set_gid、stick_bit,软链接文件,硬链接文件
  7. cct2级考试c语言试题,CCT2样题
  8. 零基础入门机器学习——声音识别——打卡Task1
  9. 四川取消英语计算机考试,2020年起,四川将不再承接全国英语等级考试,已有多省份停考!...
  10. 深入理解socket中的recv函数和send函数
  11. CharNet阅读笔记
  12. uni-app压缩图片上传
  13. 【IoT】产品设计:如何挖掘产品需求
  14. python爬取招聘网信息并保存为csv文件
  15. ssdt函数索引号_BUG:SSDT函数名获取SSDT函数号
  16. 【转】推送消息推送机制
  17. java apdu读取社保卡_使用javax.smartcardio的用于智能卡的ISO 7816 APDU
  18. Python期末复习
  19. JAVA 纯数字/金额数字转中文大写
  20. Android 友盟统计集成

热门文章

  1. matlab环境下图像分形维数的计算,MATLAB环境下图像分形维数的计算
  2. 首个步态识别框架开源了
  3. 云尚发卡PHP,PHP云尚发卡系统V1.5.7源码,专门为个人或小型企业提供在线售卡
  4. 小米8刷原生安卓系统
  5. 分享华为视频IVS1800功能测试记录,给想了解华为视频监控伙计们
  6. 史上最全 | 编程入门指南
  7. Markdown编辑器使用教程_被迫流浪者的博客
  8. 阿里云热修复Sophix接入
  9. mysql数据库 添加字段,修改字段,修改注释
  10. 史上最详细Excel制作生命游戏,体验生命演化。