C语言构建网络聊天室

C语言构建网络聊天室

ID:39830105

大小:155.00 KB

页数:19页

时间:2019-07-12

C语言构建网络聊天室_第1页
C语言构建网络聊天室_第2页
C语言构建网络聊天室_第3页
C语言构建网络聊天室_第4页
C语言构建网络聊天室_第5页
资源描述:

《C语言构建网络聊天室》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、WindowsC语言构建网络聊天室利用C语言编写Windows应用程序有两种方式:一种是WindowsC编程方式,另一种是VisualC++编程方式。在一般情况下,VisualC++编程方式编写的程序源代码量小、开发时的工作量小、工作难度也较小,但编译后的代码量较大,运行速度略低;而WindowsC编程方式编写的程序源代码量虽然较大,但可执行代码效率高。随着技术的进步,VisualC++编程方式已被广泛采用,但象网络编程等一些对速度要求高、对硬件操作较多的程序,大多数还是用WindowsC编程方式开发的。另外,

2、学习WindowsC程序设计,还有助于更深入地了解Windows的内幕和WindowsAPI。基本的网络编程都是建立在Winsock基础上的。Winsock是90年代初,为了方便网络编程,由Microsoft联合了其他几家公司共同制定的一套WINDOWS下的网络编程接口,它是通过C语言的动态链接库方式提供给用户及软件开发者的,主要由winsock.h头文件和动态链接库winsock.dll组成,目前有两个版本:Winsock1.1和Winsock2.0。作为网络编程接口,Winsock屏蔽了网络底层的复杂的协议

3、和数据结构,使得编程人员对网络的操作变得非常简单,因此,在Win32平台上,访问众多的基层网络协议,Winsock是首选接口。用Winsock构建一个网络聊天室,有两种基本的方式:数据报方式和流方式。一、面向无连接的数据报方式数据报方式又称无连接方式,对应的是UDP(UserDatagramProtocol)协议。这种方式不提供数据无错保证,数据可能丢失或重复并且接收顺序混乱,后发出的报文可能会先收到,并且报文的长度是有限制的;不过,由于取消了重发校验机制,能够达到较高的通信速率,可以用于对数据可靠性要求不高的

4、通信,如实时的语音、图像传送和广播消息等。和C语言一样,函数是WindowsC编程的最基本的单位。不过,WindowsC主要使用API函数,而网络编程则主要使用Winsock提供的API函数。数据方式构建网络聊天室主要使用了以下几个函数:1.WSAStartup():初始化。【函数原型】intPASCALFARWSAStartup(WORDwVersionRequired,LPWSADATAlpWSAData);【使用说明】每一个使用winsock的应用程序,都必须进行WSAStart函数调用,并且只有在调用成

5、功之后才能使用其它的winsock网络操作函数。返回值:调用成功返回0;否则,返回出错信息。WversionRequired<输入>:表示欲使用的Winsock版本,这是一个WORD类型的整数,它的高位字节定义的是次版本号,低位字节定义的是主版本号。LpWSAData<输出>:是一个指向WSADATA资料的指针。这个资料我们一般不使用。2.Socket():创建一个Socket。【函数原型】SOCKETsocket(intaf,inttype,intproctocol);【使用说明】Winsock网络通信的第一

6、步通常就是调用这个函数。所有的通信在建立之前都有要创建一个Socket。该函数的功能与文件操作中的fopen()类似,返回值是由Winsock定义的一种数据类型SOCKET,它实际是一个整型数据,是Socket创建成功时,Windows分配给程序的Socket编号,后面调用传输函数时,可以把它像文件指针样引用。如果Socket建立失败,返回值WIVALID_SOCKET。Af<输入>:指addressfamily(地址族),一般都填AF_INET,表示是在Internet上的Socket;Type<输入>::是

7、Socket的类型,当采用流连接方式时,用SOCK_STREAM;采用数据报文方式时,用SOCK_DGRAM。Proctocol<输入>:一般都有为0,表示对两种类型的Socket分别采用缺省的TCP和UDP传输协议。 3.Bind():为创建Socket指定通信对象。【函数原型】intbind(SOCKETs,conststructsockaddrFAR*name,intnamelen);【使用说明】成功创建了Socket之后,就应该选定通信的对象。首先是自己的程序要与网上的哪台计算机通话;其次,在多任务的系

8、统下,该台计算机上可能会有几个程序在工作,必须指出要与哪个程序通信。前者可以通过IP地址来确定,而后者则由端口号来确定的。一台计算机有65536个端口,端口号范围为0~65535,不同的通信程序使用不同的端口。不过,1024以下的端口号一般都已被一些常用的网络服务程序所占用,因此,编制自己的通信程序时,指定的端口号应大于1024。s<输入>:上一步创建Socket时创建好的套接字。na

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。