开发者学堂课程【Go 语言核心编程 - 面向对象、文件、单元测试、反射、TCP 编程:网络编程的基本介绍】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/626/detail/9775
网络编程的基本介绍
内容介绍:
一、本节主要内容
二、tcp 编程介绍
三、网络编程基本介绍
四、书籍推荐
一、本节主要内容
本节主要有两个模块
1.tcp 编程
第一个模块主要讲解 tcp 编程,tcp 编程属于网络编程
2.Redis
第二个模块讲解 Redis
这两个模块在讲解的时候会先讲解 tcp 编程,再通过案例穿插入 Redis,这个案例是讲解编程中的十分经典的案例,这样进行讲解会让学习有事半功倍的效果
二、两个实际应用
1.QQ,迅雷,百度网盘客户端
①常识下的客户端的信息传送模式
在客户端上的一端发送任意的文字或者图片,对方会接收到的原理需要大家进行思考,通常的思考是 A 直接发送给 B, B 直接发送给 A,类似于对讲机
②实际下的客户端上的信息传送模式
其实在公网上会有一个服务器,A 与 B 之间会有中转站,一种方式是存在数据库,另一种方式是中转的哨口,但难度比较大,在使用过程中就会运用网络编程
这种网络编程的结构叫 c/s
2.新浪网站,京东商城,淘宝
运用的是网络编程的 b/s 结构
三、网络编程基本介绍
Golang 的主要设计目标之一就是面向大规模后端服务程序,网络通信这块是服务端程序必不可少也是至关重要的一部分。
网络编程有两种:
1. TCP socket 编程
TCP socket 编程是网络编程的主流。之所以叫 Tcp socket 编程,是因为底层是基于 Tcp/ip 协议
比如:QQ 聊天[示意图]
Tcp/ip 协议是一种自定义协议,任何一台电脑都会运用这种协议,必须装载的一种协议,不允许删除
2. b/s 结构的 http 编程
b/s 结构的 http 编程也是一种协议,是基于上述协议之上的,我们使用浏览器去访问服务器时,使用的就是 http 协议,而 http 底层依旧是用 tcp socket 实现的。[示意图]
比如:京东商城【这属于 go web 开发范畴】
这属于外部编程
与第一个的区别就是在于发送的协议是不一样的,
是一种标准协议。
四、书籍推荐
TCP/IP 详解一共有3卷
1. TCP/IP 详解.卷1:协议
是基础篇,作者叫史蒂芬,概述讲解的十分详细
2.TCP/IP 详解.卷2:实现
3.TCP/IP 详解.卷3:TCP 事务协议