武汉大学计算机学院详解:网络程序设计概览与关键技术

需积分: 9 0 下载量 98 浏览量 更新于2024-07-25 收藏 7.56MB PDF 举报
网络程序设计是一门深入探讨如何在互联网环境中创建和管理应用程序的课程,它涵盖了从基础理论到实际应用的广泛内容。本讲义由武汉大学计算机学院的涂航教授编写,旨在帮助学生理解网络程序的分类、编程要素和对象,以及设计时需要考虑的关键因素。 首先,课程从网络程序设计的基础开始,包括网络程序的分类,如联机多用户程序、对等网络、Client/Server、RPC和Browser/Server等,强调了分布式程序设计的重要性。网络编程需要理解网络操作系统(如Windows的网络操作系统)和协议(如OSI模型中的七层模型、TCP/IP协议簇),以及网络的拓扑结构,如星型、环形和网状结构。 其次,课程深入讲解了通信原语,如同步与异步原语的区别,缓冲与非缓冲原语的使用,以及可靠与非可靠服务的选择。在局域网编程部分,重点介绍了NETBIOS,包括其功能、LANA编号、名字解析等,并涉及类文件接口编程,如复位向器、邮槽和管道技术,以及获取网卡信息的方法。 进入核心部分,讲义深入剖析了SOCKET编程,包括概念、基本数据结构和函数,常见的网络协议,以及面向连接的流式套接字编程实例,如实现PING、TRACERT、防止洪水攻击和构建HTTP服务器。UDP编程内容则涵盖了UDP的特点、广播和多播功能,以及音视频压缩的应用。 最后,课程还介绍了WININET与网络协议实现,这部分涉及基础知识,如HTTP客户端编程的API,展示了如何利用WININET进行HTTP通信。COOKIES和其他网络协议的处理也是关键内容。 武汉大学计算机学院的网络程序设计讲义提供了一个全面且实用的学习框架,适合对网络编程有兴趣的学生和开发者深入理解和实践网络应用的开发。通过这门课程,学员将掌握网络环境下的编程策略,理解不同编程模式的优势,并能够灵活运用各种通信技术来构建高效、可靠的网络应用。