北鸟南游的博客 北鸟南游的博客
首页
  • 前端文章

    • JavaScript
    • Nextjs
  • 界面

    • html
    • css
  • 计算机基础
  • 后端语言
  • linux
  • mysql
  • 工具类
  • 面试相关
  • 图形学入门
  • 入门算法
  • 极客专栏
  • 慕课专栏
  • 电影资源
  • 儿童动漫
  • 英文
  • 棋牌益智
关于我
归档
GitHub (opens new window)
首页
  • 前端文章

    • JavaScript
    • Nextjs
  • 界面

    • html
    • css
  • 计算机基础
  • 后端语言
  • linux
  • mysql
  • 工具类
  • 面试相关
  • 图形学入门
  • 入门算法
  • 极客专栏
  • 慕课专栏
  • 电影资源
  • 儿童动漫
  • 英文
  • 棋牌益智
关于我
归档
GitHub (opens new window)
  • 面试
  • 算法入门
  • 图形学入门
  • 极客专栏
  • 慕课专栏
    • 001-NestJS入门到实战前端必学服务端新趋势
    • 002-ReactNative+Redux打造高质量上线App
    • 003-typescript+reactNative开发喜马拉雅APP
    • 004-flutter入门,实战携程网app开发
    • 005-Vue3+TS打造企业级组件库前端中高级开发者必修课
    • 006-Vue3+Vite+TS,二次封装element-plus业务组件
    • 007-基于Vue3打造前台+中台通用提效解决方案
    • 008-React17+ReactHook+TS4最佳实践仿Jira企业级项目
    • 009-TS+React18全流程开发UI组件库
    • 010-WebGL+Threejs入门与实战-系统学习Web3D技术
    • 011-TypeScript高手,成为抢手的前端开发人才
    • 012-2021最新版uni-app从入门到进阶系统完成项目实战
    • 013-vue+go高性能企业级微服务网关
    • 014-前端性能优化--6大角度综合型优化方案
    • 015-Docker环境下的前后端分离项目部署与运维
    • 016-JavaScriptES(6-10)全版本语法大全
    • 017-编程必备基础大话HTTP协议
    • 018-Jest前端测试入门到TDD+BDD双实战
    • 019-TypeScript系统入门到项目
    • 020-TypeScript重构axios
    • 021-React源码深度解析视频教程
    • 022-JavaScript设计模式与开发实践
    • 023-Java并发编程与高并发解决方案
    • 023-从0到1落地微前端架构,MicroApp实战招聘网站
    • 024-Google资深工程师深度讲解Go语言
    • 025-WebRTC入门与实战
    • 026-Socket网络编程
      • 课程介绍:
      • 课程亮点
      • 课程目录:
        • 第1章 课程导学(Java语言教学)
        • 第2章 Socket网络编程快速入门
        • 第3章 Socket UDP快速入门
        • 第4章 Socket TCP快速入门
        • 第5章 UDP辅助TCP实现点对点传输案例
        • 第6章 简易聊天室案例
        • 第7章 服务器传输优化-NIO
        • 第8章 数据传输稳定性优化
        • 第9章 局域网文件快传技术实战
        • 第10章 聊天室升级版实战
        • 第11章 语音数据即时通信实战
        • 第12章 整体代码结构梳理与升华
        • 第13章 课程总结
    • 027-程序员的高等数学课
    • 028-go仿阿里系优酷网-企业级Go改造PHP项目
    • 029-大学计算机必修课新讲--编译原理+操作系统+图形学
    • 030-Docker环境下的前后端分离项目部署与运维
    • 031-操作系统入门与实践-参透技术本质
  • vue3+vite封装element组件库
  • 基于云开发模式开发微信小程序
  • 珠峰培训资料
  • theme
  • mooc
北鸟南游
2024-07-22
目录

026-Socket网络编程

资源下载 (opens new window) 提取码:http://dt2.8tupian.net/2/29369a312b200.pg1

# 课程介绍:

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

# 课程亮点

  • Socket快速入门
    • Socket与TCP、UDP关系
    • 报文、协议、Mac地址、IP、端口
    • UDP、TCP核心知识点讲解
    • UDP单播、多播、广播与运用
    • TCP握手、挥手、可靠性与案例实操
    • 数据收发并行案例实操
  • 聊天室案例实战
    • 聊天室数据传输设计
    • 聊天室消息转发与可达性分析
    • 多客户端群聊天实现
    • 服务器性能检测与优化
    • 聊天室消息调度模型
    • 心跳包构建与消费
  • 高并发基石-NIO
    • NIO基础理论讲解
    • 阻塞IO与非阻塞IO对比
    • NIO API深入学习
    • NIO重写数据调度
    • NIO服务器Thread优化
    • NIO高并发压测
  • 数据传输稳定性优化实战
    • 消息粘包与消息不完整解决方案
    • 借鉴学习HTTP2精髓
    • 数据传输Packet模型
    • 数据封包与拆包实操
    • 内存调度与内存复用模型
    • 消息优先级与三层数据调度
  • 文件快传技术实战
    • 文件传输与普通传输区别
    • 消息模型基于通道传输优化
    • 优雅的中断文件传输
    • 高效的文件、普通消息混传
    • 消息分片理论与技术实现
    • 基于分片技术的命令模式
  • 语音数据即时通讯实战
    • 即时语音聊天架构分析
    • 直播推流原理简单讲解
    • 数据转发与高级桥接技术
    • 语音压缩与推流实现
    • 语音接收与播放实现
    • 即时技术调优与展望

# 课程目录:

# 第1章 课程导学(Java语言教学)

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

# 第2章 Socket网络编程快速入门

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

# 第3章 Socket UDP快速入门

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

# 第4章 Socket TCP快速入门

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

# 第5章 UDP辅助TCP实现点对点传输案例

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

# 第6章 简易聊天室案例

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

# 第7章 服务器传输优化-NIO

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

# 第8章 数据传输稳定性优化

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

# 第9章 局域网文件快传技术实战

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

# 第10章 聊天室升级版实战

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

# 第11章 语音数据即时通信实战

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

# 第12章 整体代码结构梳理与升华

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

# 第13章 课程总结

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

编辑 (opens new window)
上次更新: 2025/06/23, 08:09:51
025-WebRTC入门与实战
027-程序员的高等数学课

← 025-WebRTC入门与实战 027-程序员的高等数学课→

最近更新
01
阿豪象棋,棋理新编
06-23
02
index
06-23
03
023-从0到1落地微前端架构,MicroApp实战招聘网站
06-23
更多文章>
Theme by Vdoing | Copyright © 2018-2025 北鸟南游
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式