MENU

网络编程

About这个网站[置顶]

如果想做一件事情,现在就是个不错的时间

为什么要搭这个网站

从本科开始就想做一个网站,但是一直都不知道做什么主题的,于是便一直拖啊拖。中间也确实搭建了数个博客性质的网站,但是往往自己在搭建好之后就在意淫网站该怎么优化啊,怎么做才能抵抗高并发啊...结果每次都因为想太多到最后还是一事无成,在这些浮夸而不切实际的思考中浪费了许许多多的时间,而那些网站却一个个的关闭,因为自己也不知道自己要做什么。

Read More

【一起来写http服务器】HTTP请求处理1

在之前的课程里,我们已经实现了报文从客户端发送到服务端,然后服务端接收后再返回给客户端。这样其实已经基本具备一个服务器的雏形,但如果需要实现HTTP服务器,我们还需要将接收到的报文按照HTTP协议进行解析,然后交由业务处理后,将业务返回的结果按照HTTP协议再封装,返回给客户端。所以本小节,我们主要介绍如何处理HTTP请求。

Read More

【一起来写http服务器】引言

最近项目中需要启动HTTP/HTTPS服务器,但是不能使用开源的服务器代码,需要用C语言纯手工从0到1去写。于是就按照自己的构想去实现了一个轮子,最终的成品和自己的构想一致。整体过程很有意义,于是想把整个历程总结一下,其中涉及到很多编程的基本知识和技巧。如有兴趣可以和我一起边想边写。

Read More

SSL协议会话建立过程解析

SSL协议 缩写 Secure SocketLayer,是一种制定的保证服务器和客户端安全通信的一种协议。最初是由Netscape 在1996年发布,由于一些安全的原因SSL v1.0和SSL v2.0都没有公开,直到1996年的SSL v3.0。TLS是SSL v3.0的升级版,目前市面上所有的HTTPS都是用的是TLS,而不是SSL。本文主要分析和讲解TLS。

Read More

libwebsockets(一)简介

libwebsockets是一款轻量级用来开发服务器和客户端的C库。按照官方(https://libwebsockets.org/)给出的介绍来看,它不仅支持ws,wss还同时支持http与https,可以轻轻松松结合openssl等库来实现ssl加密。OK,本篇博客将介绍如何下载使用功能这么强大的库。

Read More

[转] c-ares一个C语言的异步DNS解析库

转载自http://blog.csdn.net/mumumuwudi

以下是个人的一些理解。在网络编程中,在需要进行直接访问域名的场景中,比如curl,根据数通知识可以知道,首先我们需要根据域名获取ip,而这个过程需要访问DNS服务器来完成的,也就是函数gethostbyname来完成。但是gethostbyname是同步的,当链路不通时会造成阻塞(无法设置超时时间)。所以异步DNS应运而生,官网地址:https://c-ares.haxx.se/

Read More