实践的艺术:带有套接字的 Python 网络应用程序!
创建在线多人游戏、AOL 风格的聊天室等等!学习套接字、线程、json、Pygame 模块!
讲师:Michael Eramo
口袋资源独家Udemy付费课程,独家中英文字幕,配套资料齐全!
用不到1/10的价格,即可享受同样的高品质课程,且可以完全拥有,随时随地都可以任意观看和分享。
你将学到什么
- 网络基础,例如 IP 和端口地址、IPV4、TCP 和 UDP 协议。
- 如何使用静态 IP 地址和端口转发设置您自己的家庭网络,以便任何人都可以通过互联网连接到您的程序。
- 如何使用套接字模块在终端中创建基本的双向聊天。
- 如何使用线程模块在终端中创建基本的聊天室。
- 如何使用 tkinter 模块制作一个像旧的 AOL 聊天室一样的 GUI 聊天室。
- 如何使用 Json 模块创建带有管理窗口的高级 GUI 聊天室。
- 如何使用 Pygame 模块制作自己的在线多人游戏。
要求
- 学生应具备 Python 的应用知识和基本编程原理
- 学生应该熟悉函数式编程和面向对象编程,因为课程将在下半年使用这两种编程。
- 熟悉各种 python 模块将会很有帮助,但我会花时间教你在本课程中构建程序所需了解的知识。
描述
您是否曾经想过构建自己的在线多人游戏,供您和您的朋友一起玩?您想建立自己的聊天室吗?就像 20 世纪 90 年代的黄金 AOL 聊天室一样,您和您的朋友可以在其中“闲逛”。想要了解此类程序如何工作的基本原理 – 它们如何通过互联网在一台计算机与另一台计算机之间进行通信和发送数据?如果答案是肯定的,那么请考虑参加这门课程!
我知道,在我自己的 Python 和计算机科学之旅中,一旦我掌握了基础知识……基础知识……整个“这是一个 for 循环。你能打印前 100 个偶数吗?”类型练习,大门真的打开了。只有一个问题:门打开后是一个巨大的空间,但几乎没有任何引导。 Python 很棒,因为你可以用它做很多事情,特别是当你开始引入新的模块和库来提供附加功能时。虽然有足够的初学者资源愿意牵着你的手指导你完成学习,但我觉得针对中级受众的资源明显减少……已经学习了基础知识并且现在正在寻找更多东西的受众……
在本课程中,我决定将我的中间项目重点放在网络应用程序上;我想编写可以在局域网和整个互联网上相互在线对话的程序。考虑到这一点,我问自己,学生喜欢学习哪些有趣且引人入胜的项目,以及我们应该了解哪些外部模块和库来完成这些项目。在本课程中我们将完成以下任务:
- 基于socket模块的双向终端聊天
- 引入线程模块的基于终端的聊天室
- 介绍 Tkinter 模块的 GUI 聊天室
- 如何配置路由器以允许来自外部网络的通信
- 带有管理窗口的高级 GUI 聊天室,介绍 json/pickle 模块
- 介绍 Pygame 模块的在线多人游戏
每个项目都建立在以前项目中获得的知识的基础上。在我们的最终项目中,当我们尝试创建自己的在线多人游戏时,我们将生成 IPV4/TCP 套接字以将计算机连接到在启用静态 IP 和端口转发的计算机上运行的服务器,创建各种线程来同时运行进程在我们的机器上,我们将使用 json 序列化 python 对象,例如我们的游戏状态和游戏玩家,并使用 Pygame 拥有完整的交互式 GUI 界面。
在本课程结束时,您将拥有多个可以与朋友或家人分享的项目,让他们在家里运行客户端脚本,连接到您的服务器脚本,并展示您学到的所有内容。
本课程适合谁:
- 对于那些对 Python 基础知识有深入了解并正在寻找使用各种 Python 模块创建新的、令人兴奋的项目的人来说,我认为这是一门中级课程。
- 任何有兴趣学习如何编写可以通过网络运行并相互通信的程序的人。
- 任何喜欢在线多人游戏的人!!!