新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > 开发语言 > VB教程 > 正文:利用VB设计聊天室

利用VB设计聊天室

新客网 XKER.COM 2007-01-31 来源: 收藏本文
   

  Internet上的聊天室一向是一个吸引人的地方,但多用C语言设计,我用VB设计了一个聊 天室,取名为“升达自由论坛”,实际使用证明效果良好。

  Internet上的通讯协议是TCP/IP,Internet上数据传输协议主要有TCP和UDP,TCP是有 连接协议,它要求计算机进行对话时必须先建立连接,保证数据传送安全到达目的地。UDP是 无连接协议,它只是将信息送到网络上,并不检查数据是否到达了目的地。要进行实时会话, 则应该采用TCP协议。本程序采用的协议就是TCP协议。

  程序分服务和客户程序两部 分。客户程序启动后首先与服务器连接,连接成功后,随意输入一个名字即可进入聊天室;服 务程序则负责维护与每一个客户的连接和数据交换,并且记录下所有聊天内容,及人员名单。 由于在会话过程中大家起的都是假名字,不可避免地要有的人讲一些不健康内容,为了保持 秩序,服务器程序实现了IP地址跟踪功能。管理人员可以很容易地查找出每一个匿名的计算 机名,并对之进行警告或其它处理(下面会进一步介绍)。可保证会话内容的健康。如果服务器 程序关闭,则所有客户程序自动关闭。

  VB5的Winsock控件

  VB5企业版提 供了Winsock控件,要实现两台计算机的对话,可以通过Winsock控件进行。而不需了解更多的 数据传输细节,本程序就是通过Winsock进行的。

  Winsock有多种属性、方法和事件,本文只列举出要使用的属性、方法和事件。

  ......

  一个Winsock控件可以建立与一个计算机的联接,服务器程序中首先 设置一个Winsock控件,将其索引值设为0,以便在运行时动态增减元素,这样可以与多个计 算机进行对话。

  程序介绍

  服务程序部分

  服务器程序启动时, 先设置自己的本地端口,因为有些端口有其固定的作用,如80是WWW端口,故尽可能选择不可 能使用的端口,这里我选择了1600。将连接状态设置为假,然后开始进行侦听。当侦听到有计 算机要求与服务器进行对话,就接受,并记录下客户机的地址、端口、客户起的匿名,将连接状 态设置为真,将上述内容存入一个用户自定义的数组中,进行动态维护。用户自定义数据类型 如下:

  PrivateTypeActiveUser

  ClientIPAsString记录客户的IP地址

  ClientNameAsString记录客户的匿名

  ClientPortAsInteger记录当前会话的端口

  ClientConnectedAsBoolean

  客户连接状态,True表示已连接,False表示没有连接

  EndType

  做完这些工作后,服务器再调入一个新控件,进行新的侦听,如此反复不断。如果有客户 退出,则关闭相应的连接。注意不能在客户端关闭连接,否则会产生错误,只能由服务器关闭 连接。服务器程序主要对象设置

  .

[责任编辑:editor]

共3页: 上一页 [1] [2] [3] 下一页
收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐