用WINSOCK实现聊天室的VC++程序设计(1) 用WINSOCK实现聊天室的VC++程序设计 一、SOCKET简介 80年代初,美国政府的高级研究工程机构(ARPA)给加利福尼亚大 学Berkeley分校提供了资金,让他们在Unix操作系统下实现TCP/IP协 议。在这个项目中,研究人员为TCP/IP网络通信开发了一个API(应用 程序接口)。这个API称为Socket接口(套接字)。今天,SOCKET接口 是TCP/IP网络最为通用的API,也是在INTERNET上进行应用开发最为通 用的API。 90年代初,由Microsoft联合了其他几家公司共同 制定了一套WINDOWS下的网络编程接口,即WindowsSockets规范。它是 BerkeleySockets的重要扩充,主要是增加了一些异步函数,并增加了 符合Windows消息驱动特性的网络事件异步选择机制。WINDOWSSOCKETS 规范是一套开放的、支持多种协议的Windows下的网络编程接口。从 1991年的1.0版到1995年的2.0.8版,经过不断完善并在Intel、 Microsoft、Sun、SGI、Informix、Novell等公司的全力支持下,已成 为Windows网络编程的事实上的标准。目前,在实际应用中的 WINDOWSSOKCETS规范主要有1.1版和2.0版。两者的最重要区别是1.1版 只支持TCP/IP协议,而2.0版可以支持多协议。2.0版有良好的向后兼容 性,任何使用1.1版的源代码,二进制文件,应用程序都可以不加修改地 在2.0规范下使用。 SOCKET实际在计算机中提供了一个通信端口,可以通过这个端口 与任何一个具有SOCKET接口的计算机通信。应用程序在网络上传输,接 收的信息都通过这个SOCKET接口来实现。在应用开发中就像使用文件句 柄一样,可以对SOCKET句柄进行读,写操作。 二、基于WINDOWS SOCKET的应用开发介绍。 在WINDOWS95/98,WINDOWSNT进行WINSOCK开发使用的编程语言有很多, VC++,Java,Delphi,VB等。其中VC时使用最普遍,和WINSOCK结合最 紧密的。并且VC++对原来的WindowsSockets库函数进行了一系列封装, 继而产生了CAsynSocket、CSocket、CSocketFile等类,它们封装着 有关Socket的各种功能,是编程变得更加简单。但如果你是一个 WINSOCK编程的初学者,那么建议你在一开始还是学习WINSOCK最基本的 API函数进行编程,这样可以大大加深对WINSOCK的了解,对将来很有好 处。 在VC中进行WINSOCK的API编程开发,需要使用到下面三个文件: 1、WINSOCK.H: 这是WINSOCK API的头文件。 2、WSOCK32.LIB: WINSOCK API连接库文件。在使用中,一点要把它作为项目