
网络编程
文章平均质量分 54
蛋炒鸡丁小饭团
一位喜欢研究计算机安全的灰帽子,GitHub不会展示更具体的仓库。
展开
-
【Linux网络编程】域名转IP后的一些深层(计算机底层)的思考
结语C语言是一个非常灵活非常不可思议的语言,只要你掌握好了它,那么你就可以在计算机中做任何你想做的事情。原创 2022-12-25 23:52:52 · 847 阅读 · 1 评论 -
【Socket】Python使用非阻塞模式接收完整数据
之前我使用阻塞模式接收数据时必须使用Socket的方法设置一个超时时间,用来判断连接对象是否还是数据传入。但是这种方式有个很明显的弊端,那就是会影响整个的数据传输的效率。因为需要判断数据传输是否超时来得到数据是否传输完毕,但有时会因为网络波动导致每次接收的数据量都不一样,也就会导致数据完整性无法得到验证。影响数据接收的效率是因为需要等待方法设置的时间来判断是否超时,而短了通常会提前断开,长了又过于耗时。...原创 2022-07-15 06:07:12 · 3445 阅读 · 2 评论 -
【解决方法】Socket服务端退出之后端口依旧被占用
索引C/C++Python结语说明:以下代码均为Linux环境,我会给出Windows环境的改动。C/C++通常情况下,我们写Bind端的话只会设置发送/接收超时,所以会导致一个系统资源占用的问题。即程序已经执行完毕,但是端口仍然被占用着,且无法杀死进程。解决方法是在bind之前配置setsockopt,用于设置TIME_WAIT的时间。// Linux写法int s = socket(AF_INET, SOCK_STREAM, 0);setsockopt(_sock, SOL_原创 2022-04-02 20:58:40 · 3871 阅读 · 1 评论 -
Windows环境找不到OpenSSL库/OpenSSL头文件【编译错误】
目录前言解决前言前几天在Github上把OpenSSL官方的源码拷贝下来准备自己写爬虫(Python的代码写腻了,打算用C/C++来写)。结果编译的时候一直报错#include <openssl/tls1.h>,我试了好多种办法都没用,比如下面的这些方法。gcc main.c -lwoskc32 -lssl -lcrypto -I w:\OpenSSL\include\openssl\ -L w:\OpenSSL\libgcc main.c -lwoskc32 -lssl -lcr原创 2022-03-28 23:40:22 · 6336 阅读 · 0 评论 -
如何从0开始编写一个网络爬虫?
导读在开始之前,望读者提前了解过计算机网络的相关知识(尤其是HTTP协议与SSL/TLS加密)与基础的代码编写(不限于语言类型)。以下代码均以Python3为例(因其代码简易,故使用其进行演示)未安装Python3的请通过此连接下载安装,并配置相关的环境变量。Download Python | Python.org特别声明: 在正式开始编写之前,你应该明白什么资源不能爬取,如果网站有robots.txt(爬虫规则)请遵守它,否则很可能会有牢狱之灾!正文估计一开始接触网络爬虫的人都会听原创 2022-02-28 23:59:21 · 1986 阅读 · 0 评论 -
【C/C++ Socket】collect2.exe: error: ld returned 1 exit status
检查头文件载入部分加上 #pragma comment(lib, "ws2_32.lib")#include <winsock2.h>#include <iostream>#include <cstring>#pragma comment(lib, "ws2_32.lib") //加上这个或者编译时加一个参数g++ demo.cpp -o demo.exe -lwsock32gcc demo.c -o demo.exe -lwsock32原创 2021-12-01 13:16:32 · 781 阅读 · 0 评论