欢迎来到天天文库
浏览记录
ID:41322559
大小:12.51 KB
页数:13页
时间:2019-08-22
《用VB实现聊天讨论室和点对点会话论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、用VB实现聊天讨论室和点对点会话在一个单位内部或通过广域协议(如)互联的行业内部都有几十或上万台计算机互联,用Intranet虽然可以建立聊天室,但实现点对点实时对话却比较困难。本人用Winsock和VB自制了一套聊天室和对话系统,特拿来供同行们参考。一·Winsock的主要属性、事件和方法Winsock是不可见控件,控件文件名是,全称为Mcirosoftwinsockcontrol,使用时要将此控件调入工具箱。1·属性:①Protocol=0//使用TCP协议;②RemoteHost//准备连接远程机的IP地址③RemotePort//连接远程机的IP端口号(10
2、24—65535之间)④LocalPort//本地机监听IP端口号必须与呼叫机端口号相同2·方法:①connect//申请连接远程机②listen//设置监听③accept//建立实际连接④senddata//发送数据⑤getdata//接收数据⑥close//关闭连接3·事件:①connectionrequest//一方请求连接时另一方产生②connect//一方机接受连接时另一方产生③close//一方机关闭连接时另一方产生④dataArrival//一方发送数据另一方产生⑤error//请求连接失败时产生二·制作方法⑴在一工程中添加两个表单form1(模拟客户
3、端)、form2(模拟服务器端)。form1中装入控件:控件名主要属性用途caption=”雷萌聊天室”controlbox=0‘False模拟客户机表单multiline=-1‘Truescrollbars=3‘Bath用于输入发往聊天室的信息locked=-1‘Truemultiline=-1‘Truescrollbars=3‘Bath显示从聊天室发来的信息text=””‘任定默认地址放入常用的地址caption=”退出”最小化form1caption=”连接”请求与输入的地址连接caption=”发送”发送Text1中的内容caption=“请在此输入发表的信
4、息”Text1的框标caption=“聊天室或对方的信息”Text2的框标caption=”等待连接”显示连接状态信息caption=”聊天室或对方地址”用于指示Combo1caption=”操作:选地址连接,连接成功看到聊天室内容后再输信息发送”操作说明interval=6000;enabled=false防止连接超时用于数据传输form2中装入控件:控件名主要属性用途caption=”接收信息”controlbox=0‘False模拟客户机表单caption=”返回”隐含Form2窗口caption=”对话”点对点会话时用此直接启动Form1locked=-1‘
5、Truemultiline=-1‘Truescrollbars=3‘Bath存放聊天或对话内容caption=”接收的信息”Text1的框标用于监听用于传送聊天信息⑵在Form1的各控件事件中加入如下代码:DimflagAsBoolean注释:连接状态变量PrivateSuba_Connect()flag=TrueEndSubPrivateSuba_DataArrival(ByValbytesTotalAsLong)DimiAsString="连接成功!"=0=0=FalseIfi=Chr(0)Then="你是今天第一个进入本聊天室的客户。"+Chr(13)+Chr
6、(10)Else=+iEndIf=Len()=0=False="断开连接"EndSubPrivateSuba_Error(ByValNumberAsInteger,DescriptionAsString,ByValScodeAsLong,ByValSourceAsString,ByValHelpFileAsString,ByValHelpContextAsLong,CancelDisplayAsBoolean)flag=False=False=0=0MsgBox"网络连接失败!"="等待连接"=True="连接"EndSubPrivateSubComm1_Click
7、()注释:关闭连接=1EndSubPrivateSubComm2_Click()If="断开连接"Then="连接"="等待连接"=True=False=0=0Else=""="正在连接.."=11=11=Trueflag=False=sckTCPProtocol==3000EndIfEndSubPrivateSubForm_DblClick()IfMsgBox("关闭本聊天室!确认吗?",36,"退出系统")=6ThenEndElse=1EndIfEndSubPrivateSubForm_Load()IfThenMsgBox"本系统已经加载,请看任务拦!",4
此文档下载收益归作者所有