网络
文章平均质量分 52
网络
Amazing9
这个作者很懒,什么都没留下…
展开
-
非阻塞recvfrom卡住
非阻塞recvfrom卡住原创 2023-02-22 18:41:06 · 977 阅读 · 0 评论 -
Linux默认路由表及查询
Linux默认路由表及查询原创 2022-12-09 11:36:54 · 4215 阅读 · 0 评论 -
Amazon C++ SDK SMS/MMS
Amazon SMS/MMS二次开发原创 2022-11-16 14:20:39 · 340 阅读 · 0 评论 -
socket选项SO_REUSEADDR带来的隐患
背景在实际开发中遇到一次单通的问题,排查后发现同一个端口被绑定了多次,导致在实际RTP流传输过程中端口对应的上层应用对象不正确,使得后续媒体传输都被丢弃。验证问题#include <stdio.h>#include <stdlib.h>#include <string.h>#include <sys/socket.h>#include <netdb.h>#include <arpa/inet.h>#includ原创 2022-05-26 17:21:25 · 691 阅读 · 2 评论 -
getaddrinfo神秘面纱
1. getaddrinfo能做什么名字到地址转换:解析DNS地址 服务到端口转换:将IP地址和端口转换为一个socket地址2. 重要数据结构struct addrinfo { int ai_flags; int ai_family; int ai_socktype; int ai_protocol; socklen_t ai_addr原创 2022-03-04 11:51:57 · 2771 阅读 · 0 评论 -
res_nsearch查询DNS过慢优化
1. 问题背景一个无效的DNS地址,通过res_nsearch接口解析其IP地址。由于res_nsearch查询过程过慢,影响系统其他业务的使用。2. 解决思路由于res_nsearch接口是在glibc库中实现,阅读源码了解其实际工作原理,以解决查询过慢的问题。3. 重要数据结构贯穿于res_nxxx系列接口函数的重要数据结构如下:struct __res_state { int retrans; /* retransmition time interval */ int ret原创 2022-03-03 14:24:58 · 318 阅读 · 0 评论 -
DNS解析
1. 背景最近遇到DNS解析慢的问题,梳理了一下DNS消息结构,用C++写了一个DNS解析过程。2. 相关数据结构2.1. DNS消息基类class dns {public: int hostlen(const unsigned char *buffer) { int length = 0; for (; ; ) { if ('\0' == buffer[length]) { len原创 2022-03-02 19:42:06 · 1427 阅读 · 0 评论 -
DNS消息格式
1. 简介+---------------------+| Header |+---------------------+| Question | the question for the name server+---------------------+| Answer | RRs answering the question+---------------------+| Authority原创 2022-03-02 16:13:34 · 2348 阅读 · 0 评论