Windows C 语言构建网络聊天室
利用 语言编写 应用程序有两种方式:一种是 编程方式,另一种是
编程方式。在一般情况下,编程方式编写的程序源代码量小、开发时的工作量小、工作难
度也较小,但编译后的代码量较大,运行速度略低;而 编程方式编写的程序源代码量虽然
较大,但可执行代码效率高。随着技术的进步,编程方式已被广泛采用,但象网络编程等一
些对速度要求高、对硬件操作较多的程序,大多数还是用 编程方式开发的。另外,学习
程序设计,还有助于更深入地了解 的内幕和 。
基本的网络编程都是建立在 基础上的。 是 年代初,为了方便网络编程,由
联合了其他几家公司共同制定的一套 下的网络编程接口,它是通过 语言的动态
链接库方式提供给用户及软件开发者的,主要由 头文件和动态链接库 组成,目前
有两个版本: 和 !。
作为网络编程接口, 屏蔽了网络底层的复杂的协议和数据结构,使得编程人员对网络的操
作变得非常简单,因此,在 "! 平台上,访问众多的基层网络协议, 是首选接口。
用 构建一个网络聊天室,有两种基本的方式:数据报方式和流方式。
一、 面向无连接的数据报方式
数据报方式又称无连接方式,对应的是 #$#%&'(协议。这种方式不提供数据无
错保证,数据可能丢失或重复并且接收顺序混乱,后发出的报文可能会先收到,并且报文的长度是有
限制的;不过,由于取消了重发校验机制,能够达到较高的通信速率,可以用于对数据可靠性要求不
高的通信,如实时的语音、图像传送和广播消息等。
和 语言一样,函数是 编程的最基本的单位。不过, 主要使用 函数,
而网络编程则主要使用 提供的 函数。数据方式构建网络聊天室主要使用了以下几个函数:
.)$(:初始化。
【函数原型】
*+,)$,%,%-%.*/)(0
【使用说明】
每一个使用 的应用程序,都必须进行 函数调用,并且只有在调用成功之后
才能使用其它的 网络操作函数。
返回值:调用成功返回 ;否则,返回出错信息。
1%,%-%2输入3:表示欲使用的W 版本,这是一个 , 类型的整数,它的
高位字节定义的是次版本号,低位字节定义的是主版本号。
*)2输出3:是一个指向 / 资料的指针。这个资料我们一般不使用。
!.%$(:创建一个 %。
【函数原型】
45/%$.6)%.)(0
【使用说明】
网络通信的第一步通常就是调用这个函数。所有的通信在建立之前都有要创建一个
%。该函数的功能与文件操作中的 )%$(类似,返回值是由 定义的一种数据类型
45/,它实际是一个整型数据,是 % 创建成功时, 分配给程序的 % 编
号,后面调用传输函数时,可以把它像文件指针样引用。如果 % 建立失败,返回值
*745/。
2输入3:指 %'6$地址族(,一般都填 +75/,表示是在 %% 上的 %;
/6)%2输入38:是 % 的类型,当采用流连接方式时,用 47/,5;采用数据报文方
第 页共 "页