本课程是计算机科学与技术研一学生的选修课,课程旨在让学生了解网络应用程序基本概念和原理。熟练掌握使用C语言编写基于套接字的Windows网络应用程序。同时还较深入地介绍了Windows应用程序的编程原理。在课程结束后,学生能熟练掌握使用C语言进行功能较完备的多人在线聊天室等各种Windows平台下套接字网络应用程序编程技能。
本课采用翻转课堂教学法,平时成绩占总成绩84%,包括:课前作业、课堂测验和课堂编程练习各1/3。每次课包括课前作业10分;课堂测验10分和课堂编程练习10分。第2至8课共7次课计分共计210分。占总成绩16%,期末考试采用网络在线考试共40分。总计250分,最后折合成100分制。总成绩达到60分以上为合格。
第1讲 课程概况:翻转课堂的基本流程及方法,翻转课堂的注意事项。SPOC的使用方法,学习资料简介等。
第2讲 网络编程概述
网络编程的相关概念:网络、IP地址、端口、套接字等。
第3讲 流式套接字编程
套接字编程的一般模式;基本操作函数;流式套接字编程方法及流程。
第4讲 用户数据报套接字编程
用户数据报套接字概念与特征;用户数据报套接字的编程方法及流程。
第5讲 网络编程中的多线程技术
多线程技术的概念与特征;使用多线程技术的优点与注意事项;多线程技术在网络编程中的应用。
第6讲 使用MFC实现窗口式聊程序
基于MFC窗口程序的实现;在窗口程序中实现网络通信程序;P2P私聊程序的实现。
第7讲 Windows编程的基本原理
Windows应用程序的运行机理;使用API编写Windows应用程序框架;Windows应用程序中的消息响应机制。
第8讲 基于事件驱动的Windows异步套接字的编程
阻塞模式与非阻塞模式;I/O非阻塞异步处理模型;基于事件驱动的异步套接字多人Windows聊天室程序设计。
由于硕士研究生学源较广,因此课程只要求学生有C语言基础。
谭浩强.C语言程序设计(第二版)
鲁斌,李丽.网络程序设计与开发.清华大学出版社,2010年9月
孙鑫.VC++深入详解.电子工业出版社,2014年2月