慕课实战 Socket 网络编程进阶与实战 系统掌握 Socket 核心技术

慕课实战 Socket 网络编程进阶与实战 系统掌握 Socket 核心技术

课程简介

本课程将理论结合实践,带你从零开始,系统学习 Socket 编程技术,让 Socket 的学习不再那么零散与难以掌握,同时会提炼出 Socket 网络传输的核心思想与构架,并带你踩坑出坑,增加你的分析与处理问题的能力,完善你的编程思想与知识体系。

课程目录

  • 第 1 章 课程导学(Java 语言教学)2 节 | 9 分钟

    【说明:课程案例部分以 Java 语言实现】【老师是位答题狂,问答区的问题有问必答】本章节首先会对课程进行导学讲解,包括为什么应该学习本课程,课程目标与收获,课程内容安排,适合人群和学习建议等,接着会讲解代码规范与开发注意事项,目的全在于希望极大的方便同学进行本课程的学习。...

    • 图文:1-1 课前必读(不看会错过一个亿)

    • 视频:1-2 课程导学(课前必看) (08:53)

  • 第 2 章 Socket 网络编程快速入门 7 节 | 72 分钟

    本章首先整体介绍什么是 Socket 网络编程;让大家对 Socket 有个大概的概念与方向。之后通过几个小 Case 引出课程的主角,轻松愉快的让你体验到 Socket 编程的快感。本章节主要收获:1. 明白什么是网络编程,2. 理解 Socket 与 TCP、UDP 的关系 3. 明白网络传输中的报文、协议、Mac、IP 以及端口的定义等。 ...

    • 视频:2-1 什么是网络编程? (12:26)

    • 视频:2-2 Socket 与 TCP、UDP (13:34)

    • 视频:2-3 Socket TCP 牛刀小试-客户端实现 (13:51)

    • 视频:2-4 Socket TCP 牛刀小试-服务端实现 (12:55)

    • 视频:2-5 报文、协议、Mac 地址 (06:41)

    • 视频:2-6 IP、端口及远程服务器 (11:45)

    • 作业:2-7 为什么有 TCP 还要有 UDP?仅有一个不是更好么?

  • 第 3 章 Socket UDP 快速入门 7 节 | 82 分钟

    UDP 是 Socket 中的重要组成部分;在本章节中带领大家了解什么是 UDP,以及明白可以用 UDP 来做什么。本章节主要收获:1. 明白 UDP 是什么,2. UDP 的主要作用, 3. UDP 的简单用法以及 API 学习,4. 理解网络中的单播、广播、多播等概念与技术实现 ...

    • 视频:3-1 UDP 是什么 (08:35)

    • 视频:3-2 UDP 核心 API 讲解 (10:14)

    • 视频:3-3 UDP 单播、广播、多播-1 (07:58)

    • 视频:3-4 UDP 单播、广播、多播-2 (08:41)

    • 视频:3-5 案例实操-局域网搜索案例-1 (13:56)

    • 视频:3-6 案例实操-局域网搜索案例-2 (16:29)

    • 视频:3-7 案例实操-局域网搜索案例-3 (15:19)

  • 第 4 章 Socket TCP 快速入门 8 节 | 103 分钟

    TCP 可以说是 Socket 的最重要组成,同时也是网络传输的基础;有了 TCP 基石才有如今稳定的网络传输。本章节让大家明白 TCP 的重要性,同时学会利用 TCP 进行简单的数据传输。本章节主要收获:1. 明白 TCP 是什么,理解 TCP 的重要性,2. 学会 TCP 的精髓以及 API 使用,3. TCP 的连接可靠性原理,4. TCP 的传输可靠性原理,5. 学会利用 TC...

    • 视频:4-1 TCP 是什么、能做什么 (07:18)

    • 视频:4-2 TCP 核心 API 讲解 (09:26)

    • 视频:4-3 TCP 连接可靠性-三次握手、四次挥手 (15:17)

    • 视频:4-4 TCP 传输可靠性-排序、丢弃、重发 (08:06)

    • 视频:4-5 案例实操-TCP 传输初始化配置-1 (16:14)

    • 视频:4-6 案例实操-TCP 传输初始化配置-2 (14:34)

    • 视频:4-7 案例实操-TCP 基础数据传输-1 (13:53)

    • 视频:4-8 案例实操-TCP 基础数据传输-2 (17:20)

  • 第 5 章 UDP 辅助 TCP 实现点对点传输案例 6 节 | 84 分钟

    前面我们学习了 UDP、TCP,本章节中将利用 UDP 的发现进行 TCP 连接建立点对点数据传输,同时让大家理解并实现数据收发并行。本章节主要收获:1. UDP 如何与 TCP 结合使用,2. UDP 与 TCP 的主要职责划分,3. 传输数据如何做到并传输,4. 学会利用多线程解决阻塞与并行的案例 。 ...

    • 视频:5-1 UDP 搜索 IP 与端口-1 (16:31)

    • 视频:5-2 UDP 搜索 IP 与端口-2 (15:14)

    • 视频:5-3 点对点传输实现 (12:14)

    • 视频:5-4 数据发送与接收并行-1 (16:38)

    • 视频:5-5 数据发送与接收并行-2 (12:58)

    • 视频:5-6 数据发送与接收并行-3 (10:00)

  • 第 6 章 简易聊天室案例 8 节 | 71 分钟

    一对多聊天室模型是经典不衰的案例,这样的架构也可称为 CS 模型;在这样的模型中有服务器端充当所有的数据传输与转送操作;但同时也会给服务器带来巨大的压力。在本章节你将学习到一个聊天室的搭建,同时能明白服务器的压力优化策略。 本章节主要收获:1. 聊天室基础设计,2. 聊天室中服务器设计方案,3. 聊天室服务器数...

    • 视频:6-1 聊天室数据传输设计 (07:17)

    • 视频:6-2 聊天室消息接收实现 (16:23)

    • 视频:6-3 聊天室消息转发实现 (10:39)

    • 视频:6-4 服务器状态与测试用例构建-1 (09:57)

    • 视频:6-5 服务器状态与测试用例构建-2 (08:22)

    • 视频:6-6 服务器性能分析与压测 (11:29)

    • 视频:6-7 服务器性能总结与优化方案 (06:20)

    • 作业:6-8 对于聊天室功能实现若是使用 UDP 来是否会更好?

  • 第 7 章 服务器传输优化-NIO  14 节 | 177 分钟

    Socket 在我们的认知中是高效的,在上章节中了解到一个 Bad 的设计是会搞崩服务器的。消耗资源多、 慢这都不应是咱们需要的;我们要的是高性能且极度简单的传输模型。那么在本章节中将带你进入全新的领域“NIO”一个神秘而充满魅力的技术方案。使用 NIO 进行服务器的简单优化,解决线程启动太多的问题。本章节主要收获:1. 明...

    • 视频:7-1 阻塞 IO 和⾮非阻塞 IO (16:43)

    • 视频:7-2 NIO Family 一览 (09:22)

    • 视频:7-3 NIO 常⽤用 API 学习 (14:55)

    • 视频:7-4 NIO 重写服务器-1 (18:53)

    • 视频:7-5 NIO 重写服务器-2 (17:01)

    • 视频:7-6 NIO 重写服务器-3 (12:25)

    • 视频:7-7 NIO 服务器 Thread 优化-1 (06:06)

    • 视频:7-8 NIO 服务器 Thread 优化-2 (12:33)

    • 视频:7-9 NIO 服务器 Thread 优化-3 (17:56)

    • 视频:7-10 NIO 服务器 Thread 优化-4 (10:22)

    • 视频:7-11 NIO 服务器 Thread 优化-5 (11:11)

    • 视频:7-12 NIO 服务器 Thread 优化-6 (20:00)

    • 视频:7-13 NIO 知识归纳梳理 (08:45)

    • 作业:7-14 BIO、NIO、AIO 究竟是什么?

  • 第 8 章 数据传输稳定性优化 9 节 | 120 分钟

    在实际的测试中我们会发现:1. 当发送数据足够快时,服务器会因为消息处理不及时引起消息粘包的现象,2. 当业务层缓冲区大小不够时将引起单消息丢失不全的现象。 在本章节中我们借鉴 HTTP 的消息体协议并简化到 Socket 传输中,以便在客户端与服务器上消息不会出现粘包,不全等现象。本章节主要收获:1. 明白什么是粘包、消...

    • 视频:8-1 消息不完整与消息粘包 (11:17)

    • 视频:8-2 复现数据传输异常现象 (16:21)

    • 视频:8-3 传输分析-如何有序的混传数据 (07:41)

    • 视频:8-4 传输分析-借鉴学习 HTTP 精髓 (11:31)

    • 视频:8-5 构建有序消息体-调度接口定义 (17:09)

    • 视频:8-6 构建有序消息体-基本发送调度实现 (18:05)

    • 视频:8-7 构建有序消息体-基本接收调度实现-1 (10:53)

    • 视频:8-8 构建有序消息体-基本接收调度实现-2 (11:26)

    • 视频:8-9 消息粘包与消息不全测试 (14:49)

  • 第 9 章 局域网文件快传技术实战 18 节 | 257 分钟

    茄子快传、QQ 快传核心功能是如何实现的?本章节让你明白这些你都能实现;甚至更好、更快!本章节主要收获: 1. 文件消息与普通消息的区别以及注意事项,2. 如何利用 Socket 发送⽂件,3. 如何利用流(Stream)实现文件与普通消息的组合封装,4. 如果利用范型实现对 Packet、Frame 的规则封装,5. 文件分片技术原理与实现...

    • 视频:9-1 混传数据总结与梳理 (09:53)

    • 视频:9-2 文件传输与普通传输的区别 (11:57)

    • 视频:9-3 文件消息模型基础实现-1 (14:44)

    • 视频:9-4 文件消息模型基础实现-2 (14:42)

    • 视频:9-5 文件消息模型基础实现-3 (16:02)

    • 视频:9-6 发送文件到服务器-1 (17:12)

    • 视频:9-7 发送文件到服务器-2 (15:37)

    • 视频:9-8 发送文件到服务器-3 (10:47)

    • 视频:9-9 消息分片传输设计与实现-1 (19:36)

    • 视频:9-10 消息分片传输设计与实现-2 (14:46)

    • 视频:9-11 消息分片传输设计与实现-3 (17:09)

    • 视频:9-12 消息分片传输设计与实现-4 (13:44)

    • 视频:9-13 消息分片设计与实现-发送调度-1 (17:15)

    • 视频:9-14 消息分片设计与实现-发送调度-2 (17:27)

    • 视频:9-15 消息分片设计与实现-接收调度-1 (16:21)

    • 视频:9-16 消息分片设计与实现-接收调度-2 (17:49)

    • 视频:9-17 文件快传收尾与总结 (11:29)

    • 作业:9-18 我们为什么需要消息分片?

  • 第 10 章 聊天室升级版实战 13 节 | 242 分钟

    一个完整的聊天室应具备优秀的消息送达效率以及消息传输的保障。实际开发难点在于如何合理分配消息调度资源,并且如何知道客户端当前的状态以便进行客户端的重连等机制。本章节主要收获:1. 利用线程+队列方案进行调度优化,2. 心跳保持为什么需要做以及如何做,3. 如何发送心跳包以及消费心跳包,4. 高效数据消费与线...

    • 视频:10-1 消息调度分析 (14:55)

    • 视频:10-2 并发客户端 BUG 修复与性能优化-1 (21:16)

    • 视频:10-3 并发客户端 BUG 修复与性能优化-2 (18:57)

    • 视频:10-4 并发客户端 BUG 修复与性能优化-3 (17:03)

    • 视频:10-5 数据三层缓冲区 IoArgs 调度优化 (16:38)

    • 视频:10-6 服务器消息调度逻辑规范化-1 (16:20)

    • 视频:10-7 服务器消息调度逻辑规范化-2 (17:29)

    • 视频:10-8 服务器消息调度逻辑规范化-3 (21:03)

    • 视频:10-9 服务器消息调度逻辑规范化-4 (19:15)

    • 视频:10-10 心跳包必要性与策略选择 (19:26)

    • 视频:10-11 心跳包构建与消费调度-1 (17:27)

    • 视频:10-12 心跳包构建与消费调度-2 (23:27)

    • 视频:10-13 心跳包构建与消费调度-3 (18:09)

  • 第 11 章 语音数据即时通信实战 13 节 | 160 分钟

    近几年,视频语音直播可谓风生水起,其核心技术就是数据流实时传输;在本章节中着重讲解语音聊天技术的实现,当然你也可以扩展为视频聊天等。 在本章节中对数据代理桥接方案是重点,消息发与传输最短送达方案也是难点。 本章节主要收获:1. 理解即时语音聊天传输原理,2. “P2P”技术实现,3. 什么是数据桥接,4. 如...

    • 视频:11-1 语音即时通信分析 (12:04)

    • 视频:11-2 语音数据直流传输扩展-1 (12:49)

    • 视频:11-3 语音数据直流传输扩展-2 (14:09)

    • 视频:11-4 服务器桥接改造实现-1 (05:48)

    • 视频:11-5 服务器桥接改造实现-2 (15:03)

    • 视频:11-6 服务器桥接改造实现-3 (15:27)

    • 视频:11-7 服务器桥接改造实现-4 (11:11)

    • 视频:11-8 客户端数据编码技术选型 (11:11)

    • 视频:11-9 客户端搭建与界面交互-1 (16:44)

    • 视频:11-10 客户端搭建与界面交互-2 (12:06)

    • 视频:11-11 客户端采集、传输、播放-1 (17:37)

    • 视频:11-12 客户端采集、传输、播放-2 (04:53)

    • 视频:11-13 语音即时通信总结 (10:12)

  • 第 12 章 整体代码结构梳理与升华 13 节 | 196 分钟

    虽然我们实现了常见案例,但是代码应当追求复用与实用性。 本章节中带来了新的知识点:数据优先级调度与封装、内存复用模型等等;这都是提升你技术的绝佳机会。本章节主要收获:1. 审视自身,明白现有代码缺陷, 2. 如何实现调度中分优先级调度,3. 了解高并发中内存的占用问题,4. 学会内存复用的设计,5. 实现内存...

    • 视频:12-1 框架性能瓶颈压测 (19:10)

    • 视频:12-2 调度优化之发送数据调度优化 (15:27)

    • 视频:12-3 多线程调度瓶颈分析 (14:47)

    • 视频:12-4 调度优化之单线程 IO 调度-1 (18:50)

    • 视频:12-5 调度优化之单线程 IO 调度-2 (13:00)

    • 视频:12-6 案例分析不是 BUG 的 BUG (09:52)

    • 视频:12-7 调度优化之多线程窃取模式 IO 调度 (15:37)

    • 视频:12-8 简单内存复用与细节优化-1 (18:03)

    • 视频:12-9 简单内存复用与细节优化-2 (18:28)

    • 视频:12-10 简单内存复用与细节优化-3 (22:00)

    • 视频:12-11 简单内存复用与细节优化-4 (21:20)

    • 视频:12-12 结构梳理与性能总结 (09:14)

    • 作业:12-13 网络程序优化的核心目的是什么?

  • 第 13 章 课程总结 1 节 | 19 分钟

    本章节着重于总结 Socket 课程的全部知识点,同时展望后续的开发。 学无止境,同学们,祝你们学有所获,学有所成!学习中有任何问题都可以发布到课问答区,我会有问必答,或者加群课程 QQ 交流群,和志趣相投的小伙伴们一起探讨与交流;最后也特别感谢大家对我的支持。 ...

    • 视频:13-1 课程展望与后续 (18:51)

下载地址

  1. 转载请保留原文链接!

  2. 本站所有资源文章出自互联网收集整理,本站不参与制作,如果侵犯了您的合法权益,请联系本站我们会及时删除。

  3. 本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。

  4. 联系方式(#替换成@):feedback#iplayzip.com

相关文章