网络编程:
网络编程就是利用网络应用编程接口编写网络应用程序,实现网络应用进程间的信息交互功能。一般来说,应用进程间的通信可以分为两种:同一系统上的应用进程间的通信和不同系统上的应用进程间的通信。同一系统上的应用进程间的通信又称为进程间通信。而不同系统上的进程间的通信,则必须通过网络编程接口访问网络协议提供的服务来实现。事实上,统一系统上的不同应用进程间的通信也可以通过网络接口来实现,只是性能上会有些差别。
从理论上讲,在网络体系结构中的任何一层上都应能提供应用程序设计的编程接口,但是实际上并非如此。在完整的计算机网络体系中,仅提供了基于网络操作系统之上的编程接口。例如windows的Winsock,Netware的IPX/SPX及NetBIOS等。在这些接口上进行网络通信程序设计是最常用的方法。
基于Winsock的网络编程
TCP/IP是发展至今否最成功的通信协议之一。它起源于20世纪60年代末。。。
Winsock是Windows环境下实现TCP/IP网络编程的接口。Winsock规范并定义了如何使用API与Internet协议,他不仅提供了一套简单的API,如人们所熟悉的Berkeley Soket风格的库函数;也包含了一组针对windows的扩展库函数,以使程序员能充分的利用windows消息驱动机制进行编程。windows sockets规范的本意在于提供给应用程序开发者一套简单的API,并让各家网络软件供应商共同遵守。尤其要指出的是,所有的Windows Sockets实现都支持流套接字和数据包套接字。
Winsock:
Windows下网络编程的规范-Windows Sockets是Windows下得到广泛应用的、开放的、支持多种协议的网络编程接口。
Win32 SDK编程基础
在VC环境下开发应用程序有MFC和SDK两种方式。
MFC是对win32 API进行彻底的封装的类库,可以采用面向对象的方法进行Windows应用程序的开发,开发效率较高,但其生成的程序规模较大,不易理解,而且MFC方式隐藏了大量的编程细节,不利于读者对网络通信机制的深入理解。
SDK是一套软件开发包,内部包含了大量的Win32 API函数。借助Win32 SDK能够方便灵活的开发网络应用程序。SDK程序结构清晰,执行效率高,而且编程更加灵活。