书籍作者:赵宏 | ISBN:9787302504832 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:6449 |
创建日期:2021-02-14 | 发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
本书选用各项性能指标优良的Ubuntu作为Linux系统实例,以Python为编程语言,理论结合实践,系统地讲解网络各层次的功能、所包含的常用协议、数据报文格式,并给出实际操作的程序实例。本书包括Linux系统介绍、Python语言基础、TCP/IP协议簇、Socket原理、进程和线程、网络应用程序实例、Web应用程序开发等内容。本书内容也适用于其他版本的Linux。
本书可作为普通高等院校信息类专业本科生和研究生教材,也可作为广大Linux用户、网络管理员、程序员的自学用书和参考手册。
《Linux网络编程(Python)》立足开源Linux系统,选用系统运维的常用语言Python阐述TCP/IP协议簇、Socket等编程原理,讲解并例示HTTP、FTP、E-mail、Web APP、Web框架等系统运维实例,并结合多线程和数据库技术完善与增强应用实例的功能。本书全部代码可在GITHUB下载。
前言
Linux系统与互联网相伴而生,共同成长,成为现代信息技术高速发展的重要支撑和驱动力。Python作为一种开源、跨平台、面向对象的新型计算机程序设计语言,语法简洁,语义清晰,有丰富、强大的库的支持,广泛应用在网络编程、科学计算、人工智能等各个领域。两者的结合能够使读者快速理解基础理论,掌握实践技能,提高学习和工作的效率。
本书选用Ubuntu Desktop为实践平台,以Python语言为编程工具,针对互联网所使用的TCP/IP协议簇进行分层介绍和解析,并给出实际操作的程序实例。
全书共分为7章。第1章介绍Linux的历史、特点、组成、常见发行版本以及Linux常用的各种安装方式,由马栋林编写。第2章讲解Python语言的特点、开发环境安装、数据类型、语法规则、语句、函数、模块、类、对象、异常、文件等内容,由赵宏编写。第3章分层讲解TCP/IP各层主要协议、数据报文格式、层间数据交换规则、常见网络应用与各层协议的对应、程序实例等内容,由包广斌编写。第4章讲解Socket原理、SOCK_STREAM、SOCK_DGRAM、SOCK_RAW等内容,并通过程序实例演示Socket在C/S结构编程和网络嗅探中的实际应用,由赵宏和马栋林编写。第5章讲解多进程和多线程技术在网络编程中的应用,通过实例对比多进程与多线程实现方案的异同,并介绍了利用socketserver编写多进程和多线程程序的方法,最后通过GUI聊天室程序实例说明了多进程和多线程编程技术的实际应用,由包广斌和赵宏编写。第6章讲解网页内容获取、访问FTP服务器、访问DNS、收发Email、获取DHCP信息等实用程序的编写方法与过程,这些实例能够让读者进一步理解网络理论和工具软件的运行机制,由赵宏和包广斌编写。第7章介绍Python开发Web应用程序的方法,讲解WSGI工作原理,以流行的Web开发框架Django为例,演示Web应用程序开发工程,由赵宏和马栋林编写。
本书在编写过程中,得到兰州理工大学计算机与通信学院和信息中心各位老师的支持。硕士研究生韩泽宇、蒋家俊、张浩和王孝通帮助调试本书部分代码。
本书的编写受到兰州理工大学教学研究项目和CERNET下一代互联网技术项目(NGII20160311,NGII20160112)的资助。
因时间仓促,不足在所难免,请大家批评指正,读者可通过[email protected]或[email protected]与作者联系,也可以加入本书的QQ群643116956进行讨论。
为方便教学,作者开发了与本书相配套的多媒体课件、课后习题答案和程序代码,读者可扫描封底课件二维码下载或者向编者索取。
作者
2018年6月于兰州理工大学
目录
第1章Linux系统介绍
1.1Linux的诞生
1.2Linux的特点
1.3Linux的组成
1.4Linux的应用
1.5常见Linux发行版本
1.6Linux的安装
1.6.1常用的安装方式
1.6.2安装前的准备
1.6.3虚拟机安装Linux
1.6.4多操作系统的安装
1.7本章小结
习题
第2章Python语言基础
2.1Python语言简介
2.2Python语言解释器安装
2.2.1在线安装
2.2.2下载安装
2.2.3管理多个Python版本
2.2.4安装Python的IDE环境
2.2.5测试Python IDE
2.3数据类型
2.3.1布尔型
2.3.2整型
2.3.3浮点型
2.3.4复数型
2.3.5字符串型
2.3.6列表型
2.3.7元组型
2.3.8字典型
2.3.9日期型
2.3.10数组型
2.4语法规则与语句
2.4.1输出与输入
2.4.2条件判断
2.4.3循环
2.5函数与模块
2.5.1自定义函数
2.5.2默认参数
2.5.3可变参数
2.5.4关键字参数
2.5.5命名关键字参数
2.5.6参数组合规则
2.5.7实参与形参
2.5.8递归
2.5.9模块
2.6类与对象
2.6.1类的定义与实例化对象
2.6.2类属性与实例属性
2.6.3属性封装
2.6.4类的继承
2.6.5多态
2.7异常和异常处理
2.7.1异常捕获与处理
2.7.2抛出异常
2.8文件
2.8.1读写文本文件
2.8.2读写二进制文件
2.8.3读写JSON
2.8.4读写StringIO
2.8.5读写BytesIO
2.9本章小结
习题
第3章TCP/IP协议簇
3.1TCP/IP协议簇介绍
3.2链路层
3.3网络层
3.3.1IPv4
3.3.2IPv6
3.3.3网络层协议
3.3.4获取计算机IP地址实例
3.3.5获取局域网网关地址实例
3.4传输层
3.4.1UDP
3.4.2TCP
3.4.3主机收发数据统计信息程序实例
3.5应用层
3.5.1HTTP
3.5.2HTTPS
3.5.3FTP
3.5.4DNS
3.5.5SMTP
3.5.6POP3
3.5.7DHCP
3.6本章小结
习题