通信1091王亚芹1091302129Win Socket通信编程.doc
上传人:qw****27 上传时间:2024-09-12 格式:DOC 页数:6 大小:319KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

通信1091王亚芹1091302129Win Socket通信编程.doc

通信1091王亚芹1091302129WinSocket通信编程.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

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