在VB平台上的聊天程序设计

时间:2022-08-19 04:00:40

在VB平台上的聊天程序设计

摘 要:当前网络聊天软件也十分盛行,本文就控件的属性,分别对聊天程序客户端和服务器端的相关技术、流程以及对应的网络事件作了详细的描述,实现了在VB平台上的聊天程序设计。

关键词:聊天程序;实现;VB平台

中图分类号:TP312

在现代社会,网络聊天成了大家沟通不可或缺的一种方式。目前涌现了众多的网络聊天软件。但长期以来,网络编程是一个神圣的领域,涉及到众多专业领域,需要教深厚的了网络专业基础才能涉足。如果利用VB语言来设计网络聊天室,就可以轻松搞定。

1 聊天程序设计

1.1 聊天程序设计的原理。聊天程序采用客户机/服务器模式(Client/Server,简称C/S)。这种模式包含客户机和服务器两类应用程序。其中客户应用程序向服务器请求服务,而服务程序通常在侦听对服务的请求,也就是说,服务进程一直处于休眠状态,直到一个客户提出了连接请求。此时,服务持续将被唤醒,并对客户的请求作出适当的反应。聊天程序由客户端和服务端两个程序组成,采用Winsok控件开发,Winsock控件主要有八个属性,此控件是建立在TCP协议的基础上,能够完成远程计算机间的通信,用途广泛。这两个程序可在同一台计算机上运行,也可以在网络上不同的计算机上运行。整个系统的运行机制是:第一步建立连接,主要过程:由客户端程序向服务端程序发出连接请求,服务端程序收到并接受连接请求,至此客户机与服务器创建了数据交流通道。第二步开始聊天,主要过程是:在客户机的“发送的信息”文本框中输入文字时,服务器端的“收到的信息”文本框中就会实时地显示相同的文字,反之亦然。

1.2 服务器设计。(1)创建一个“标准 EXE”工程,选中“工程”菜单的“部件”,在控件中找到Microsoft Winsock Control并将其选中;(2)将Form1的名称改为frmSvr,并在其中添加两个命令按钮(Command1的Caption属性为“退出”,Command2的Caption属性为“发送”);(3)在窗体是添加三个TextBox控件,其名称分别为txtServerIP,txtSend和txtReceive;(4)在窗体上添加一个Winsock控件,将其Protocol(协议)属性设置为0(即ckTCPProtocol)。(5)制作客服端界面。(6)服务器程序代码设计:

Private Sub Form_Load()

'设置侦听端口

WinsockServer.LocalPort=10001

'读取服务器的IP地址

TxtServerIP.Text=WinsockServer.LocalIP

'开始侦听

WinsockServer.Listen

End Sub Private Sub Command1_Click()

'点击“退出”按钮后关闭应用程序

Unload Me

End Sub

Private Sub Command2_Click()

'只要txtSend文本框的内容写好以后就由WinsockServer控件发送

WinsockServer.SendData TxtSend.Text

End Sub Private Sub WinsockServer_ConnectionRequest(ByVal requestID As Long)

当收到连接请求时,Winsock处于侦听状态

'此时应该使用Close方法关闭Winsock,然后使用Accept方法接受连接请求

WinsockServer.Close

WinsockServer.Accept requested

End Sub

Private Sub WinsockServer_DataArrival(ByVal BytesTotal As Long)

'当客户端有信息发送来时,利用WinsockServer控件的GatData方法读取数据

'并将其显示在txtReceive文本框中

Dim MyStr As String

WinsockServer.GetData MyStr

TxtReceive.Text=MyStr

End Sub

1.3 客户端设计。(1)创建一个新的“标准EXE”工程,并添加Winsock控件;(2)将Form1的名称改为frmClt,并在其中添加两个命令按钮(Command1的Caption属性为“退出”,Command2的Caption属性为“连接服务器”,Command3的Caption属性为“发送”);(3)在窗体是添加四个TextBox控件,其名称分别为txtClientIP,txtServerIP,txtSend和txtReceive;(4)在窗体上添加一个Winsock控件,将其Protocol(协议)属性设置为0(即sckTCPProtocol);(5)制作客服端界面;(6)客户机的程序代码设计:

Private Sub Form_Load()

'设置聊天服务器的侦听端口

WinsockClient.RemotePort=10001

'读取本机的IP地址

txtClientIP.Text=WinsockClient.LocalIP

End Sub Private Sub Command1_Click()

'点击“退出”按钮后关闭应用程序

Unload Me

End Sub

Private Sub Command2_Click()

'根据txtServerIP文本框中输入的服务器IP,连接聊天服务器

WinsockClient.RemoteHost=txtServerIP.Text

WinsockClient.Connect

End Sub Private Sub Command3_Click()

'输入txtSend文本框的内容后由WinsockServer控件发送

WinsockClient.SendData txtSend.Text

End Sub

Private Sub WinsockClient_Connect()

'如果与服务器连接成功,则向用户提供下列信息

MsgBox“你成功地与聊天服务器进行了连接”,vbInformation

End Sub Private Sub WinsockClient_DataArrival(ByVal BytesTotal As Long)

'当服务器有信息发送来时,利用WinsockClient控件的GatData方法读取数据

'并将其显示在txtReceive文本框中

Dim MyStr As String

WinsockClient.GetData MyStr

txtReceive.Text=MyStr

End Sub

2 结束语

在远程计算机上分别运行客户端与服务器端的VB程序,输入彼此的IP地址和用户名,客户端建立连接后,便可以进行简单聊天了。网络应用程序涉及的范围较广,从网络聊天到时钟同步,从FTP文件上载到WWW浏览器均可归为这一领域。当人们谈及网络编程的时候,由于涉及的类型太多,很难明确他们具体指的是什么。不过可以肯定的是,当今社会是个网络社会,因此,为社会经济服务的信息系统软件也必然具有网络性,网络编程必然是一个重要的领域。

参考文献:

[1]刘世峰.visual Basic程序设计[D].中央广播电视大学,2004.

作者简介:田茂琴(1979.8-),女,土家族,贵州铜仁人,讲师,本科,研究方向:计算机。

作者单位:铜仁广播电视大学,贵州铜仁 554300

上一篇:基于EPON的无线接入分析 下一篇:社交化:颠覆性创新的新源泉