Code Monkey home page Code Monkey logo

learning-diy-tcpip_web's Introduction

项目简介

本项目是配套视频课程《自己动手写TCP+WEB服务器》的配套源码。

该项目从0行代码开始,逐行编写至大概1500行(不含注释),从而实现一个非常简单的TCP/IP协议栈,并在此基础上实现了一个简单的WEB服务器。

由于代码量极少,所以很容易理解。当然具体实现上会有非常多的功能裁剪,例如不支持IP分片发送及重组,TCP仅支持序列号同步。

通过简单的实现,可帮你快速理解TCP/IP最核心的工作原理。不必在不必要的细节上纠缠。

视频课程是否免费?

是的。完全免费。 如需访问视频课程,请访问:http://01ketang.cc 获取相关地址.

联系我

网站:http://01ketang.cc/about 课程:http://01ketang.cc/xnet-tiny 邮箱:527676163#qq.com (#换成@)

开发工具

  • visual stduio 2019(社区、专业版都可)
  • npcap

下载后,请安装npcap, 否则编译成功后却无法运行。该软件包,请访问课程网站获取。

章节列表

  • 第0章 基本工程的测试
    • c0000 基本工程编译测试
  • 第1章 以太网数据包收发实现
    • c0100 网络数据包定义及接口实现
    • c0101 以太网的数据收发驱动封装
    • c0102 以太网输入输出处理的实现
  • 第2章 ARP协议的实现
    • c0200 ARP初始化
    • c0201 无回报ARP的生成
    • c0202 ARP输入处理
    • C0203 ARP的超时重新请求
  • 第3章 IP协议的实现
    • c0300 实现IP层的输入处理
    • c0301 实现IP层的输出处理
  • 第4章 ICMP协议的实现
    • c0400 实现ping的响应
    • c0401 实现目标不可达的响应
  • 第5章 UDP协议及时间服务器的实现
    • c0500 建立UDP结构
    • c0501 添加UDP基本操作接口
    • c0502 时间服务器的接收处理
    • c0503 UDP输入处理
    • c0504 UDP输出处理
  • 第6章 TCP协议的实现
    • c0600 建立TCP结构
    • c0601 添加TCP基本操作接口
    • c0602 基本TCP输入处理
    • c0603 TCP的三次握手
    • c0604 TCP的连接断开
    • c0605 TCP的数据发送
    • c0606 TCP的数据接收
  • 第7章 HTTP服务器的实现
    • c0700 网页结构与设计简介
    • c0701 缓存所有HTTP连接
    • c0702 实现网页的返回
    • c0703 实现图片的显示
    • c0704 返回404和400错误

learning-diy-tcpip_web's People

Contributors

lishutong1024 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.