欢迎来到天天文库
浏览记录
ID:14202600
大小:40.50 KB
页数:18页
时间:2018-07-26
《两台电脑实现连接》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、两台电脑实现连接在一个单位内部或通过广域协议(如X.25)互联的行业内部都有几十或上万台计算机互联,用Intranet虽然可以建立聊天室,但实现点对点实时对话却比较困难。本人用Winsock和VB自制了一套聊天室和对话系统,特拿来供同行们参考。一·Winsock的主要属性、事件和方法Winsock是不可见控件,控件文件名是MSWINSCK.OCX,全称为Mcirosoftwinsockcontrol,使用时要将此控件调入工具箱。1·属性:①Protocol=0//使用TCP协议;②RemoteHost//准备连接远程机的IP
2、地址③RemotePort//连接远程机的IP端口号(1024—65535之间)④LocalPort//本地机监听IP端口号必须与呼叫机端口号相同2·方法:①connect//申请连接远程机②listen//设置监听③accept//建立实际连接④senddata//发送数据⑤getdata//接收数据⑥close//关闭连接3·事件:①connectionrequest//一方请求连接时另一方产生②connect//一方机接受连接时另一方产生③close//一方机关闭连接时另一方产生④dataArrival//一方发送数据
3、另一方产生⑤error//请求连接失败时产生二·制作方法⑴在一工程中添加两个表单form1(模拟客户端)、form2(模拟服务器端)。form1中装入控件:控件名主要属性用途VB.Formform1caption=”雷萌聊天室”controlbox=0‘False模拟客户机表单VB.Textboxtext1multiline=-1‘Truescrollbars=3‘Bath用于输入发往聊天室的信息VB.Textboxtext2locked=-1‘Truemultiline=-1‘Truescrollbars=3‘Bath显示
4、从聊天室发来的信息VB.Comboboxcombo1text=”10.84.234.11”‘任定默认地址放入常用的地址VB.Commandbuttoncomm1caption=”退出”最小化form1VB.Commandbuttoncomm2caption=”连接”请求与输入的地址连接VB.Commandbuttonsendcaption=”发送”发送Text1中的内容VB.Labellabel1caption=“请在此输入发表的信息”Text1的框标VB.Labellabel2caption=“聊天室或对方的信息”Text
5、2的框标VB.Labellabel3caption=”等待连接”显示连接状态信息VB.Labellabel4caption=”聊天室或对方地址”用于指示Combo1VB.Labellabel5caption=”操作:选地址连接,连接成功看到聊天室内容后再输信息发送”操作说明VB.Timertimer1interval=6000;enabled=false防止连接超时MSWinsocklib.winsocka用于数据传输form2中装入控件:控件名主要属性用途VB.Formform2caption=”接收信息”controlb
6、ox=0‘False模拟客户机表单VB.Commandbuttoncommand1caption=”返回”隐含Form2窗口VB.Commandbuttoncommand2caption=”对话”点对点会话时用此直接启动Form1VB.Textboxtext1locked=-1‘Truemultiline=-1‘Truescrollbars=3‘Bath存放聊天或对话内容VB.Labellabel1caption=”接收的信息”Text1的框标MSWinsocklib.Winsocka用于监听MSWinsocklib.Win
7、sockb用于传送聊天信息⑵在Form1的各控件事件中加入如下代码:DimflagAsBoolean注释:连接状态变量PrivateSuba_Connect()flag=TrueEndSubPrivateSuba_DataArrival(ByValbytesTotalAsLong)DimiAsStringa.GetDataiLabel3.Caption="连接成功!"Comm2.MousePointer=0Form1.MousePointer=0Timer1.Enabled=FalseIfi=Chr(0)ThenText2.
8、Text="你是今天第一个进入本聊天室的客户。"+Chr(13)+Chr(10)ElseText2.Text=Text2.Text+iEndIfText2.SelStart=Len(Text2.Text)Send.MousePointer=0Combo1.Enabled=FalseComm
此文档下载收益归作者所有