您现在的位置: 论文网 >> 计算机论文 >> 计算机应用论文 >> 用VB实现聊天讨论室和点对点会话论文

用VB实现聊天讨论室和点对点会话

作者:未知
出处:论文网
时间:2007-04-12
在一个单位内部或通过广域协议(如X.25)互联的行业内部都有几十或上万台计算机互联,用Intranet虽然可以建立聊天室,但实现点对点实时对话却比较困难。本人用Winsock和VB自制了一套聊天室和对话系统,特拿来供同行们参考。

一·Winsock的主要属性、事件和方法

Winsock是不可见控件,控件文件名是MSWINSCK.OCX,全称为Mcirosoft winsock control,使用时要将此控件调入工具箱。

1·属性:①Protocol=0 //使用TCP协议;

②RemoteHost //准备连接远程机的IP地址

③RemotePort //连接远程机的IP端口号 (1024—65535之间)

④LocalPort //本地机监听IP端口号必须与呼叫机端口号相同

2·方法:①connect //申请连接远程机

②listen //设置监听

③accept //建立实际连接

④senddata //发送数据

⑤getdata //接收数据

⑥close //关闭连接

3·事件:①connectionrequest //一方请求连接时另一方产生

②connect //一方机接受连接时另一方产生

③close //一方机关闭连接时另一方产生

④dataArrival //一方发送数据另一方产生

⑤error //请求连接失败时产生

二·制作方法

⑴ 在一工程中添加两个表单form1(模拟客户端)、form2(模拟服务器端)。

form1中装入控件:

控件名
主要属性
用 途

VB.Form form1
caption=”雷萌聊天室”

controlbox=0 ‘False
模拟客户机表单

VB.Textbox text1
multiline=-1 ‘True

scrollbars=3 ‘Bath
用于输入发往聊天室的信息

VB.Textbox text2
locked=-1 ‘True

multiline=-1 ‘True

scrollbars=3 ‘Bath
显示从聊天室发来的信息

VB.Combobox combo1
text=”10.84.234.11” ‘任定默认地址
放入常用的地址

VB.Commandbutton comm1 
caption=”退出”
最小化form1

VB.Commandbutton comm2 
caption=”连接”
请求与输入的地址连接

VB.Commandbutton send 
caption=”发送”
发送Text1中的内容

VB.Label label1
caption=“请在此输入发表的信息”
Text1的框标

VB.Label label2
caption=“聊天室或对方的信息”
Text2的框标

VB.Label label3
caption=”等待连接”
显示连接状态信息

VB.Label label4
caption=”聊天室或对方地址”
用于指示Combo1

VB.Label label5
caption=”操作:选地址连接,连接成功看到聊天室内容后再输信息发送”
操作说明

VB.Timer timer1
interval=6000; enabled=false
防止连接超时

MSWinsocklib.winsock a

用于数据传输






form2中装入控件:

控件名
主要属性
用 途

VB.Form form2
caption=”接收信息”

controlbox=0 ‘False
模拟客户机表单

VB.Commandbutton command1
caption=”返回”
隐含Form2窗口

VB.Commandbutton command2
caption=”对话”
点对点会话时用此直接启动Form1

VB.Textbox text1
locked=-1 ‘True

multiline=-1 ‘True

scrollbars=3 ‘Bath
存放聊天或对话内容

VB.Label label1
caption=”接收的信息”
Text1的框标

MSWinsocklib.Winsock a

用于监听

MSWinsocklib.Winsock b

用于传送聊天信息




⑵ 在Form1的各控件事件中加入如下代码:

Dim flag As Boolean 注释:连接状态变量



Private Sub a_Connect()

flag = True

End Sub



Private Sub a_DataArrival(ByVal bytesTotal As Long)

Dim i As String

a.GetData i

Label3.Caption = "连接成功!"

Comm2.MousePointer = 0

Form1.MousePointer = 0

Timer1.Enabled = False

If i = Chr(0) Then

Text2.Text = "你是今天第一个进入本聊天室的客户。" + Chr(13) + Chr(10)

Else

Text2.Text = Text2.Text + i

End If

Text2.SelStart = Len(Text2.Text)

Send.MousePointer = 0

Combo1.Enabled = False

Comm2.Caption = "断开连接"

Text1.SetFocus

End Sub



Private Sub a_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)

flag = False

Timer1.Enabled = False

Comm2.MousePointer = 0

Form1.MousePointer = 0

MsgBox "网络连接失败 !"

Label3.Caption = "等待连接"

Combo1.Enabled = True

Combo1.SetFocus

a.Close

Comm2.Caption = "连接"

End Sub

 [1] [2] 下一页

论文搜索
关键字:VB 聊天 讨论室 点对点 会话
最新计算机应用论文
基于网络信息安全技术管理的计算机应用研究
浅析人工智能体系建设
抖音短视频平台视频推荐模式研究
应用电子技术中可编程控制器的应用探讨
用友NC信息系统的实施应用实践研究
基于校园一卡通数据系统的学生行为分析研究
云环境下基于蚁群算法的动态容错技术研究
自拍图像中的记忆痕迹
抖音短视频用户使用动机研究
基于创新扩散理论的Vlog传播
热门计算机应用论文
学生成绩管理系统的设计与实现
浅析计算机病毒及防范的措施
学籍管理系统软件
对计算科学与计算机发展的思考
计算机应用型人才的培养模式研究
物资管理信息系统开发
计算机信息管理在第三方物流中的应用
嵌入式系统数字图像采集接口电路设计
基于B/S体系结构开发应用系统
项目管理在软件中的应用