✍个人博客:https://blog.csdn.net/Newin2020?type=blog
📣专栏地址:http://t.csdnimg.cn/fYaBd
📚专栏简介:在这个专栏中,我将会分享 C++ 面试中常见的面试题给大家~
❤️如果有收获的话,欢迎点赞👍收藏📁,您的支持就是我创作的最大动力💪
📝推荐参考地址:https://www.xiaolincoding.com/(这个大佬的专栏非常有用!)
154. Socket 能不能模拟 HTTP?
可以。因为 Socket 是传输层与应用层通信的中间软件抽象层,可以通过 Socket 按照 HTTP 请求报文的格式模拟 HTTP 请求并发送出去,来实现伪 HTTP 协议的目的。
155. 网络编程中,如何去掉 TIME_WAIT 时间
函数说明:
#include <sys/types.h> 
#include <sys/socket.h>
/*
 * sockfd:     标识一个套接口的描述字
 * level:      选项定义的层次;支持SOL_SOCKET, IPPROTO_TCP, IPPROTO_IP, IPPROTO_IPV6
 * optname:    设置的选项
 * optval:     指针,指向存放选项待设置的新值的缓冲区
 * optlen:     optval缓冲区长度
 */
int setsockopt(int sockfd, int level, int optname, const void *optval, socklen_t optlen);

使用方法:
#include <sys/types.h> 
#include <sys/socket.h>
/* 
 * 去掉 Time_Wait状态,否者在1分钟内绑定不了地址
 * tmp 必须是 int,不然会失败
 *
 * 成功返回0,失败返回SOCKET_ERROR错误,应用程序可通过WSAGetLastError()获取相应错误代码。
 */  
int tmp = 1; 
if(setsockopt(sock_fd, SOL_SOCKET, SO_REUSEADDR, &tmp, sizeof(tmp))) dbge();
156. connect 方法会阻塞,请问有什么方法可以避免其长时间阻塞?
最通常的方法最有效的是加定时器;也可以采用非阻塞模式。
或者考虑采用异步传输机制,同步传输与异步传输的主要区别在于同步传输中,如果调用 recvfrom 后会一致阻塞运行,从而导致调用线程暂停运行;异步传输机制则不然,会立即返回。











![[论文笔记]HERMES 3 TECHNICAL REPORT](https://img-blog.csdnimg.cn/img_convert/f6423071e7a9cc56b3723d63450694cd.png)







