利用VB设计聊天室

http://tech.ddvip.com   2006年07月27日    社区交流

本文详细介绍利用VB设计聊天室

  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。将连接状态设置为假,然后开始进行侦听。当侦听到有计 算机要求与服务器进行对话,就接受,并记录下客户机的地址、端口、客户起的匿名,将连接状 态设置为真,将上述内容存入一个用户自定义的数组中,进行动态维护。用户自定义数据类型 如下:

作者:何书臣    责编:豆豆技术应用

正在加载评论...