欢迎来到天天文库
浏览记录
ID:41033593
大小:319.00 KB
页数:6页
时间:2019-08-14
《通信1091王亚芹1091302129Win Socket通信编程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、姓名: 王亚芹 班级: 通信1091 学号: 1091302129 同组人:姜阳阳班级: 通信1091 学号: 1091302126 实验时间: 2012-3-16 地点: 11#205 指导老师: 朱全银 实验名称:WinSocket通信编程实验目的:1. 熟悉C++/VB的基本操作。2. 基本了解基于对话框的windows应用程序的编写过程。3. 对于WindowsSocket编程建立初步概念。实验设备:1. Windows2000以上操作系统;2. VB和VisualC++6.0语言环境
2、;3. 每人一台PC机。实验原理:下图为面向无连接时winsock通信的流程图:否服务器客户端成功?成功?聊天对话框聊天对话框退出?退出?结束结束否是否是否是是相互通信图-1面向无连接的winsock通信流程图用户数据文报协议(UDP)是一个无连接协议。计算机之间并不建立连接。UDP应用程序可以是客户机,也可以是服务器。为了传输数据,首先要设置客户计算机的LocalPort属性。然后,服务器计算机只需将RemoteHost设置为客户计算机的Internet地址,并将RemotePort属性设置为跟客户计算机的LocalPort属性相同的端口,并调
3、用SendData方法来着手发送信息。于是,客户计算机使用DataArrival事件内的GetData方法来获取已发送的信息。实验步骤:1.客户端模块(1)建立一个登陆界面:图-2A端登陆界面图-3A端登录时密码输错图-4A端登陆成功主要代码为:IfText1.Text="1"ThenIfText2.Text="1"ThenMsgBox"恭喜你,登陆成功!"Form2.ShowForm1.HideElseMsgBox"对不起,密码错误!"EndIfEndIf(2)登陆成功以后,弹出聊天界面:图-5A端聊天界面这部分窗体上要放一个winsock控件
4、,然后在属性页上把协议改成UDPProtocol,本地端口设为1000,对端设为1000。remotehost属性设置为另一台计算机的IP地址172.20.3.72。调用bing方法,指定使用的当地端口号1001。主要代码:PrivateSubForm_Load()Winsock1.Bind(1000)EndSubPrivateSubWinsock1_DataArrival(ByValbytesTotalAsLong)DimstrAsStringWinsock1.GetDatastrText1.Text=Text1.Text&Chr(13)+Ch
5、r(10)&"B"&""&Date&""&Time&Chr(13)+Chr(10)&strEndSub图-6A端实时聊天界面这部分主要就是发送:主要代码:PrivateSubCommand3_Click()Winsock1.RemoteHost=Winsock1.RemoteHostWinsock1.SendData(Text2.Text)Text1.Text=Text1.Text+Chr(13)+Chr(10)+"A"&""&Date&""&Time&Chr(13)+Chr(10)&Text2.TextText2.Text=EmptyEndSu
6、b图-7关闭时界面点击关闭按钮,弹出一个对话框,确定是否退出,如果是“否”,可以继续聊天,如果是“是”,程序就结束了。主要代码:PrivateSubCommand2_Click()DimquitAsIntegerquit=MsgBox("您确定要退出吗?",4+32+256)Ifquit=6ThenWinsock1.CloseEndEndIfEndSub(1)服务器端模块:因为两台计算机的地位是平等的,这种程序就是点对点通信,所以客户端和服务器端基本一样,一样有个登陆界面,然后弹出对话框,进行对话,代码和服务器端一样。不同的地方是,这部分窗体上要
7、的winsock控件,本地端口设为1000,对端设为1001。remotehost属性设置为另一台计算机的IP地址172.20.3.73。调用bing方法,指定使用的当地端口号1000。图-8B端登陆界面图-9B端聊天窗口实验体会:这次实验,我把网络编程所学知识应用到实验中,通过实践使我熟悉了对WindowsSocket的设计方法,使我对课本知识有了更深刻的理解和认识。这个实验采用对等模式,基于VB的UDP的点到点通信,因此双方都不需要连接,但是通信双方必须知道对方的IP地址还有端口号。关键把Socket的通讯过程搞清楚,这个实验就没有难度,但是
8、如果再做的麻烦一点可能就会有些难度了。比如文件传输,我做了下有很多问题,就把这部分删掉了。这个实验做的有点单一,很多方面都没有完善,但是
此文档下载收益归作者所有