4. 如何设置socket为非阻塞模式? 5. 请简述TCP的滑动窗口协议是如何工作的? 第三轮:Socket错误处理与高级话题 1. 你如何处理EAGAIN或EWOULDBLOCK错误? 2. TCP为什么需要时间等待(TIME_WAIT)状态?它可能导致什么问题? 3. 什么是TCP的Nagle算法?它是如何工作的? 4. 什么是零拷贝技术?在socket编程中如何实现? 5....
7. winsocket编程 //这个不错 // 服务器代码 #include <Winsock2.h> #include <stdio.h> void main() { WORD wVersionRequested; //版本号 WSADATA wsaData; //数据 int err; wVersionRequested = MAKEWORD(1,1); err = WSAStartup(wVersionRequested,&wsaData); if( err != 0) { return; } if(L...
3、socket编程需调用那些函数? 发送和接收过程: tcp:socket(),bind(),listen(),accept(),read(),write() udp:socket(),bind(),recvfrom(),sendto(),close 4、二叉树的部分实现代码 代码语言:javascript 复制 //定义二叉树结构 typedefstructNode{ int data; structNode* left; structNode* right; }NODE;...
7. winsocket编程 //这个不错// 服务器代码#include <Winsock2.h>#include <stdio.h>void main(){WORD wVersionRequested; //版本号WSADATA wsaData; //数据int err;wVersionRequested = MAKEWORD(1,1);err = WSAStartup(wVersionRequested,&wsaData);if( err != 0){return;}if(LOBYTE( wsaData.wVersion )...
套接字Socket=(IP地址:端口号) 比如:(192.3.4.5:80) TCP 和 UDP 的使用场景 TCP 的使用场景:比如下载电影、文件传输之类 可靠性要求高的应用:TCP 提供可靠的、面向连接的通信,它通过序列号、确认和重传机制来确保数据的可靠传输,适用于对数据完整性要求高的应用场景,如文件传输、电子邮件等。
5。setsockopt, ioctl都可以对socket的属性进行设置,他们有什么不同? 6。解释一下进程和线程的区别? 7。解释一下多播(组播)和广播的含义? 8。多播采用的协议是什么? 9。在c++中纯虚析构函数的作用是什么?请举例说明。 10。编程,请实现一个c语言中类似atoi的函数功能(输入可能包含非数字和空格) ...
应用场景: socket编程中网络字节序一般是大端存储,一般x86、ARM架构的平台中都是以小端存储,因此当我们在发送一个数据到网络之前需要使用系统提供的字节序转换函数htonl()将其转换成大端法存放的数值; 为什么要区分大小端:因为大小端有着各自的优点,比如小端存储当进行强制类型转换时不需要进行字节内容的调整,直接按照数...
OK,进入正题,下面就是《必须掌握的20道技术面试题》。 问1:请用简单的语言告诉我C++ 是什么? 答:C++是在C语言的基础上开发的一种面向对象编程语言,应用广泛。C++支持多种编程范式 --面向对象编程、泛型编程和过程化编程。 其编程领域众广,常用于系统开发,引擎开发等应用领域,是最受广大程序员受用的最强大编程...
二、互联网面试 1、设计模式相关 (1)画出命令模式的类图 (2)使用C++语言实现单例模式类 (3)使用C++语言实现工程模式类 2、数据结构和算法 (1)使用C或者C++实现快速排序 C++代码如下: #include<iostream>#include<cstdlib>// srand() 以及 rand()#include<ctime>// time()usingnamespacestd;intpartion(inta...
21.介绍一下socket中的多路复用,及其他们的优缺点,epoll的水平和边缘触发模式 24.类的生命周期 25.父类的构造函数和析构函数是否能为虚函数?这样操作导致的结果? 26.多线程为什么会发生死锁,死锁是什么?死锁产生的条件,如何解决死锁? 27.描述一下面向过程和面向对象 28.C++中左值和右值是什么?++i是左值还是右值...