![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
TCP/IP网络编程
明暖橙
这个作者很懒,什么都没留下…
展开
-
使用 openssl 获取服务器证书
文章目录读取服务器的 CA 证书生成服务器的 CA 证书读取服务器的 CA 证书Root cert for howsmyssl.com, taken from howsmyssl_com_root_cert.pem The PEM file was extracted from the output of this command: openssl s_client -showcerts -connect www.howsmyssl.com:443 </dev/nullThe C原创 2020-07-14 14:31:22 · 4424 阅读 · 0 评论 -
Wireshark 抓包理解 HTTPS 请求流程
2.1. 三次握手2.1.1. TCP 协议内容2.1.3. Round 22.1.4. Round 32.1.5. 小结2.2. 创建 HTTP 代理(非必要)2.3. TLS/SSL 握手2.3.1. TLS/SSL 协议内容2.3.2. 阶段一2.3.3. 阶段二2.3.4. 阶段三2.3.5. 阶段四2.3.6. 小结2.4. 数据传输2.4.1. Application Data2.4....转载 2019-07-25 00:12:16 · 1580 阅读 · 0 评论 -
linux--IP地址和域名之间的转换
目录利用域名获取IP地址利用IP地址获取域名利用域名获取IP地址#include <netdb.h>struct hostent* gethostbyname(const char* hostname);成功时返回hostent结构体地址,失败时返回NULL指针。host结构体定义如下:struct hostent{ char * h_...原创 2019-07-16 01:22:51 · 3839 阅读 · 0 评论 -
epoll的条件触发和边缘触发
目录条件触发:边缘触发:边缘触发服务器端的实现方法:“条件触发(Level Trigger)中,只要输入缓冲区中有数据就会一直通知该事件”eg:服务器端接收缓冲区收到50字节的数据时,服务器端操作系统将通知该事件,但服务器端读取20字节还剩30字节的情况下,仍会注册事件。也就是说,条件触发方式中,只要接收缓冲区中还有数据,就将以事件方式再次注册。边缘触发(Edge Trig...原创 2019-07-09 22:44:33 · 492 阅读 · 0 评论 -
select epoll实现IO复用服务器端对比-2
基于epoll实现服务器端基于select的IO复用技术速度慢的原因:1.调用select函数后常见的针对所有文件描述符的循环语句2. 每次调用select函数时都需要向函数传递监视对象信息相比于循环语句,更大的障碍是每次传递监视对象信息。因为传递监视对象信息具有如下含义:“每次调用select函数时向操作系统传递监视对象信息”select函数与文件描述符相关,是监视套接...原创 2019-07-09 21:38:19 · 127 阅读 · 0 评论 -
select epoll实现IO复用服务器端对比-1
通过select函数实现IO复用服务器端/*client.c*/#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <arpa/inet.h>#include <sys/socket.h>#...原创 2019-07-09 21:24:28 · 218 阅读 · 0 评论 -
基于windows实现UDP通信
windows下的套接字编程:>导入头文件winsock2.h>链接ws2_32.lib库client端:/*uecho_client_win.c*/#include <stdio.h>#include <stdlib.h>#include <string.h>#include <winsock2.h>#d...原创 2019-07-09 17:46:32 · 5314 阅读 · 6 评论 -
TCP-三次握手
该枚举类型列出tcp socket的所有可能的状态typedef enum{ TCP_CLOSED,//0 TCP_LISTEN,//1 TCP_SYN_SENT,//2 TCP_SYN_RECEIVED,//3 TCP_ESTABLISHED,//4 TCP_FINWAIT1,//5 TCP_FINWAIT2,//6 TCP_CLOSE_WAIT,//7...原创 2019-04-25 00:54:46 · 118 阅读 · 0 评论 -
Linux 网络编程--sockaddr_in
#define sockaddr_in ps_sockaddr_in #define sockaddr ps_sockaddr /** @brief BSD generic socket address structure.*///2+14=16bytesstruct ps_sockaddr ...原创 2019-05-06 19:09:03 · 225 阅读 · 0 评论 -
多线程并发服务器端的实现
实现一个多线程的并发服务器端:chat_server.c#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <pthread.h>#include <arpa/inet.h>#include...原创 2018-10-14 22:53:53 · 496 阅读 · 0 评论