| 网站首页 | 文章中心 | 电子书下载 | 矢量图库 | 视频教程 | 素材下载 | 程序代码下载 | JS代码 | 论坛 | 
常用软件类:
|杀毒安全 |联络聊天 |网络软件 |多媒体类 |系统工具 |图形图像 |系统工具 |应用软件 |行业软件
开发设计类:
|动画制作 |图像处理 |3D设计 |操作系统 |站长学院 |网络相关 |WEB设计 |数据库类 |程序开发
WINSOCK的VC++实现聊天室程序设计
作者:佚名    文章来源:网络    点击数:    更新时间:2006-11-12
 

 
四:聊天室应用程序的设计说明: 
软件功能: 
Internet上可以提供一种叫IRC 的服务。使用者通过客户端的程序 
登录到IRC服务器上,就可以与登录在同一IRC服务器上的客户进行交谈,这也就是平常 
所说的聊天室。在这里,给出了一个在运行TCP/IP协议的网络上实现IRC服务的程序。 
软件使用说明: 
首先,在一台计算机上运行服务端程序,然后就可以在同一网络的 
其他计算机上运行客户端程序,登录到服务器上,各个客户之间就可以聊天了。 
软件设计要点: 
1、服务端 
核心代码在 CServerViwe 类中,有一个 SOCKET 变量 
m_hServerSocket 和 SOCKET 数组 m_aClientSocket[MAXClient](MAXClient: 
所定义的接收连接客户的最大数目),m_hServerSocket 用来在指定的端口(>1000) 
进行侦听,如果有客户端请求连接,则在 m_aClientSocket 数组中查找一个空 socket, 
将客户端的地址赋予此 socket。 
每当一个 ClientSocket 接收到信息,都将会向窗口发一条消息。 
程序接收到这个消息后,再把接收到的信息发送给每一个 ClientSocket。 
2、客户端 
客户端比较简单,核心代码在 CClientDlg 类中。只有一个 socket 
变量 m_hSocket,与服务端进行连接。连接建立好后,通过此 SOCKET 发送和接收信息。 
为了简化设计,用户名在客户端控制,服务器端只进行简单的接收信 
息和“广播”此信息,不进行名字校验,也就是说,可以有同名客户登录到服务端。这个 
程序设计虽然简单,但是已经具备了聊天室的最基本的功能。 
程序在VC++ 6.0 下编译通过,在使用 TCP/IP 协议的 WINDOWS 95/98 
对等局域网和使用 TCP/IP 协议的 WINDOWS NT 局域网上运行良好。 

  

用WINSOCK实现聊天室的VC++程序设计 
罗 杰 
(贵州大学计算机软件与理论研究所) 

摘要:WINSOCK 是在Windows进行网络通信编程的API接口,也是 
Windows网络编程的事实标准。在网络编程中最常用的方案便是客户 
机/服务器模型。本文提出了在客户机/服务器模型下用WINSOCK实现 
Internet中常见的聊天室软件的方案。 

关键词:套接字,WINSOCK,客户机/服务器,网络编程 
一、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句柄进行读,写操作。 

上一页  [1] [2] [3] [4] [5] [6] [7] 下一页


相关文章