Welcome to the Advance Windows Network Programming class.

General Information

  • Semester: Fall 2015
  • InstructorLin Weiguo,    
  • Teaching Assistant: Lan Shunan
  • Class Room: 101A, Building 48
  • Class Hour: FRI. 10:10-12:00 (Week 2 - 16)


  • C++
  • Data Structure
  • Operating System
  • Computer Networks

Course Description:

Welcome to Advanced Windows Network Programming.  This course is intended for graduate students majoring in Computer Science. The course covers main aspects of TCP/IP protocols, and Windows Sockets programming technique will be explored  in great scope and depth. Students will learn the principles of network programming and they will apply these principles to develop network applications. The learning emphasis will be on the practical aspect.

Course Objectives:

After completing this course, you will have acquired an understanding of the principles of network programming and gain practical experience in developing network applications.



  • [1]. 吴功宜. 计算机网络高级教程. 北京:清华大学出版社. 2008
  • [2]. 杨金生. 计算机网络实验. 北京:清华大学出版社. 2005
  • [3]. 张基温. 计算机网络实验与实践教程. 北京:清华大学出版社. 2005
  • [4]. 孙海民. 精通WINDOWS SOCKETS网络开发--基于VISUAL C++实现. 北京:人民邮电出版社. 2008
  • [5]. GEORGE SHEPHERD,DAVID KRUGLINSKI. VISUAL C++ .NET技术内幕(第6版). 北京:清华大学出版社. 2004
  • [6]. Douglas E. Comer. Internetworking with TCP/IP, Vol. I Principles, Protocols, and Architecture, 5th ed., Prentice Hall, 2005.
  • [7]. Douglas E. Comer and David L. Stevens. Internetworking with TCP/IP Vol. II: ANSI C Version: Design, Implementation, and Internals, 3rd ed., Prentice Hall, 1998.
  • [8]. Douglas E. Comer and David L. Stevens. Internetworking with TCP/IP Vol. III Client-Server Programming and Applications-Windows Sockets Version, Prentice Hall, 1997.
  • [9]. W. Richard Stevens. TCP/IP Illustrated, Volume 1: The Protocols, Addison-Wesley, 1994.
  • [10]. Andrew S. Tanenbaum, Computer Networks, 4th ed., Prentice Hall, 2002
  • [11]. Anthony Jones and Jim Ohlund, Network Programming for Microsoft Windows , 2nd Ed., Microsoft Press, 2002.
  • [12]. Michael J. Donahoo and Kenneth L. Calvert, TCP/IP Sockets in C: Practical Guide for Programmers, 2nd Ed., Morgan Kaufmann, 2009.
  • [13]. Bob Quinn and David Shute, Windows Sockets Network Programming, Addison-Wesley, 2009
  • [14]. http://www.sockets.com/winsock2.htm.
  • [15]. http://beej.us/guide/bgnet/
  • [16]. http://www.winpcap.org/

Syllabus/Outline(Tentative, subject to change):

Part I Programming on Conceptual and Foundational Networking Issues
Unit 1 Ethernet Framing and Parsing
Unit 2 ARP and MAC address
Unit 3 IP traffic anylasis: Raw Socket
Unit 4 TraceRT and ICMP
Unit 5 IP V6 packet formatting and Addressing
Unit 6 TCP/UDP data sending
Part II Windows Sockets Programming
Unit 7 Client/Server Windows Sockets Programming
Unit 8 Windows Sockets programming I/O model
Unit 9 Application Protocols:Design and Implementation
Part III Final Project
Unit 10 RTSP,RTP


Assignments Point Value
 Participation   10%
 Assignment   50%
Final Project   40%
Total 100%

note: Your assignments are your own work! You are free to talk to other students about assignments but no actual material (files, photocopies etc.) should be shared. We will act harshly at any sign of copying.