运维八一 运维八一
首页
运维杂记
编程浅尝
周积跬步
专栏
生活
关于
收藏
  • 分类
  • 标签
  • 归档
Source (opens new window)

运维八一

运维,运维!
首页
运维杂记
编程浅尝
周积跬步
专栏
生活
关于
收藏
  • 分类
  • 标签
  • 归档
Source (opens new window)
  • Go

    • 前言

    • Go基础知识

    • Go基本语法

    • 实战项目:简单web服务

    • 基本数据类型

    • 内置运算符

    • 分支和循环

    • 函数 function

    • 结构体 struct

    • 方法 method

    • 实战项目:跟踪函数调用链

    • 接口 interface

    • 并发 concurrency

    • 指针

    • 实战项目:实现轻量级线程池

    • 实战项目:实现TCP服务器

      • 什么是网络编程
        • 1. 什么是网络编程
      • 理解问题
      • 技术预研与储备
      • 设计与实现
      • 优化
    • go常用包

    • Gin框架

    • go随记

  • Python

  • Shell

  • Java

  • Vue

  • 前端

  • 编程浅尝
  • Go
  • 实战项目:实现TCP服务器
lyndon
2022-06-07
目录

什么是网络编程

面对一个实际问题的解决思路

img

首先是要理解问题。解决实际问题的过程起始于对问题的理解。要搞清楚为什么会有这个问题,问题究竟是什么。对于技术人员来说,最终目的是识别出可能要用到的技术点。

然后要对识别出的技术点,做相应的技术预研与储备。怎么做技术预研呢?至少要了解技术诞生的背景、技术的原理、技术能解决哪些问题以及不能解决哪些问题,还有技术的优点与不足,等等。当然,如果没有新技术点,可以忽略这一步。

最后,要基于技术预研和储备的结果,进行解决方案的设计与实现,这个是技术人最擅长的。

# 1. 什么是网络编程

网络编程的范围很大,因为网络是分层的,OSI 规定了七层参考模型,而实际上使用的主流网络模型实现,是 TCP/IP 模型,它只有四层:

img

更多关注 OSI 网络模型中的传输层(四层)与应用层(七层),也就是 TCP/IP 网络模型中的最上面两层。

TCP/IP 网络模型,实现了两种传输层协议:TCP 和 UDP。TCP 是面向连接的流协议,为通信的两端提供稳定可靠的数据传输服务;而 UDP 则提供了一种无需建立连接就可以发送数据包的方法。

日常开发中使用最多的是 TCP 协议。基于 TCP 协议,实现了各种各样的满足用户需求的应用层协议。

比如,常用的 HTTP 协议就是应用层协议的一种,而且是使用得最广泛的一种。而基于 HTTP 的 Web 编程就是一种针对应用层的网络编程。还可以基于传输层暴露给开发者的编程接口,实现应用层的自定义应用协议。

传输层暴露给开发者的编程接口,目前在各大主流操作系统平台中,最常用的就是套接字(socket)。直接基于 socket 编程实现应用层通信业务,也是最常见的一种网络编程形式,基于socket网络编程。

上次更新: 2022/06/12, 15:48:09
v0_2 添加功能选项机制
理解问题

← v0_2 添加功能选项机制 理解问题→

最近更新
01
ctr和crictl显示镜像不一致
03-13
02
alpine镜像集成常用数据库客户端
03-13
03
create-cluster
02-26
更多文章>
Theme by Vdoing | Copyright © 2015-2024 op81.com
苏ICP备18041258号-2
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式