秋雨De blog

  • 首页
  • 留言板
  • 关于
  • rss
网络编程
网络编程

基于C++ asio网络库手搓一个简易的web服务

上学时,我总是梦想着能够用C++亲手打造一个属于自己的Web服务。随着时间的流逝,对计算机的了解越来越深,也逐渐认识到这个目标的复杂性。然而,多年后的今天,我已经对计算机有了更深的理解,也知道了这项任务的艰巨性。因此,我决定动手实现一个最简单的Web服务器。 在当今的网络编程中,构建高效的Web服务是一项复杂但令人激动的任务。C++作为一门高性能编程语言,其丰富的库和强大的性能使其成为构建网络应用程序的理想选择。其中,ASIO(Asynchronous Input/Output)库是一个跨平台的C++库,专门用于网…

2024年5月25日 0条评论 1770点热度 0人点赞 fallrain 阅读全文
C++

服务端使用C++实现非阻塞的websocket

客户端有socket,但网页端有类似socket的websocekt,那么webscoekt到底是如何实现的,今天我们来研究一下。 先抓个包看看websocket通信都发生了啥。 tcp的握手过程暂时不管,先看websocket的握手过程 websocket握手过程就一个http请求,请求头多带了俩个参数Upgrade: websocketConnection: Upgrade这个时候浏览器要告诉服务器,要升级到websocket服务,并且会带一个Sec-WebSocket-Key值,Sec-WebSocket-K…

2022年11月22日 0条评论 3791点热度 1人点赞 fallrain 阅读全文
C++

基于socket实现一个简易的web服务器——非阻塞的模式

之前我写过一个利用socket写的web服务器,但是他是阻塞的就是经常会无响应,所以这次尝试用select与epoll的非阻塞模式来写一个非阻塞的web服务器 首先我们来了解一下select与epoll的区别 (1)、select==>时间复杂度O(n) 它仅仅知道了,有I/O事件发生了,却并不知道是哪那几个流(可能有一个,多个,甚至全部),我们只能无差别轮询所有流,找出能读出数据,或者写入数据的流,对他们进行操作。所以select具有O(n)的无差别轮询复杂度,同时处理的流越多,无差别轮询时间就越长。 (2…

2022年3月22日 1条评论 5529点热度 2人点赞 fallrain 阅读全文
C++

基于socket实现一个简易的web服务器

在浏览器输入一个段网址,就会出现你想要的网页或数据,那么这个过程是如何做到的,今天我们来探索这个过程。首先http是基于socket的封装的,那我们就用socket来实现一个简易的web服务器。 首先先说思路,既然想要基于socket实现web服务器,就要知道在输入网址后都发生了什么,所以我们用springboot写个简易的web服务用Wireshark抓个包看看 我们就是实现这样的一个建议的web服务器来探讨socket请求的时候都发生了什么 我们来抓个包: 分析请求的过程 首先是tcp连接的三次握手 建立一个T…

2021年8月22日 0条评论 4010点热度 1人点赞 fallrain 阅读全文

fallrain

种一棵树最好的时间是十年前,其次是现在。

友情连接
猫饭范文泉博客迎風别葉CODING手艺人ScarSu
分类
  • C++ / 4篇
  • spring boot / 8篇
  • wordpress开发 / 5篇
  • 操作系统 / 3篇
  • 未分类 / 2篇
  • 算法 / 2篇
  • 网络编程 / 4篇
归档
  • 2025 年 5 月
  • 2025 年 4 月
  • 2025 年 3 月
  • 2024 年 12 月
  • 2024 年 10 月
  • 2024 年 5 月
  • 2023 年 2 月
  • 2022 年 11 月
  • 2022 年 3 月
  • 2021 年 12 月
  • 2021 年 8 月
  • 2021 年 5 月
  • 2021 年 4 月
  • 2021 年 3 月
  • 2020 年 12 月
  • 2020 年 11 月
  • 2020 年 8 月
  • 2020 年 5 月
  • 2019 年 12 月
  • 2019 年 3 月

吉ICP备18007356号

吉公网安备22020302000184号

Theme Kratos Made By Seaton Jiang

COPYRIGHT © 2025 秋雨De blog ALL RIGHTS RESERVED