您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 在POWERBUILDER中使用WINSOCK控件的方法
在POWERBUILDER中使用WINSOCK控件的方法(一对一,UDP协议)2011-01-1810:36(该程序是在pb10.5版本环境下编写)一、在窗口中添加WINSOCK控件:在应用中新开一个窗口,在窗口画板中点击controls--OLE菜单项,弹出Insertobject窗口,单击Insertcontrol标签,从列表框中双击选定MicrosoftWinsockcontrol,将winsock的图标贴在窗口上。在程序中该控件名称定为winsock_a(甲方)和winsock_b(乙方)。二、设置信息输入输出文本框:在窗口中增加一个按钮cb_1,两个单行文本框sle_1,sle_2,分别用于输入要发送的字符串和接受对方发送的字符串。三、设置通讯协议:WINSOCK控件允许用户以UDP和TCP两种协议中任选一种进行通讯。1.UDP协议设置:UDP协议是一种无连接的通讯协议,在通讯之前,需要绑定remotehost和remoteport属性,如果需要双向通讯,还要设置localport属性。在甲方(本机地址为:192.168.0.34)窗口的Open事件中加入如下语句:winsock_a.object.protocol=1//winsock通讯协议设为UDP协议winsock_a.object.remotehost=192.168.0.29//对方的ip地址winsock_a.object.remoteport=6000//对方的winsock通讯端口号winsock_a.object.localport=6001//本机的winsock通讯端口号winsock_a.object.bind//绑定通讯协议在乙方(本机地址为:192.168.0.29)窗口的Open事件中加入如下语句:winsock_b.object.protocol=1//winsock通讯协议设为UDP协议winsock_b.object.remotehost=192.168.0.34//对方的ip地址winsock_b.object.remoteport=6001//对方的winsock通讯端口号winsock_b.object.localport=6000//本机的winsock通讯端口号winsock_b.object.bind//绑定通讯协议需要注意的是:在server和client的ole控件的OLECONTROLPROPERTIES需要填写项目,不能空(已经作出测试)如图:server:client无论采用哪种协议,都要在窗口的Close事件中加入如下语句:ifwinsock_a/*或winsock_b*/.object.state0thenwinsock_a.object.close()endif否则可能第二次使用时发生异常问题开始通讯在按钮cb_1(caption属性设为‘发送’)的click事件中加入如下语句:winsock_a.object.senddata(sle_1.text)在winsock_a/*或winsock_b*/控件的dataarrival事件中加入如下语句://接受到对方数据后stringdatastr1winsock_a/*或winsock_b*/.object.getdata(refdatastr1)sle_2.text=datastr1//将数据字符串显示在文本框中到此,编译一下,然后在两部电脑分别放server和client(同一局域网内),就可以进行简单的运行了。
本文标题:在POWERBUILDER中使用WINSOCK控件的方法
链接地址:https://www.777doc.com/doc-2600839 .html