该APP分为两个窗口设计,参考了官方提供的例程。 主窗口和通信窗口,启动软件后在主窗口设置IP和PORT,点击链接跳转到通信窗口,也可以从通信窗口返回
主窗口代码为:
- 变量 已切换 为 逻辑型
- 事件 按钮1.被单击()
- 已切换 = 假
- 客户1.连接服务器(编辑框1.内容,编辑框2.内容,5000) '在模拟器中,本地IP为10.0.2.2
- '如果要在外网连接内网里的服务器,可以使用nat123进行端口映射,例如:客户1.连接服务器("si.nat123.net",1,5000)
- 'nat123的具体使用方法请参考存放在资源文件里的那张图片
- '注意:E4A的客户组件目前只能与易语言的服务器组件配合使用,其他的可能无**常连接通讯
- 保存对象("客户1",客户1) '保存客户组件
- 保存设置("地址",编辑框1.内容)
- 保存设置("端口",编辑框2.内容)
- 结束 事件
-
-
-
- 事件 客户1.连接完毕(结果 为 逻辑型)
- 如果 结果 = 真 则
- 弹出提示("连接成功")
- 如果 已切换 = 假 则
-
- 切换窗口(创建 通信窗口)
- 结束 如果
- 已切换 = 真
- 否则
- 信息框("LED Light","连接服务器失败","确定")
- 结束 如果
- 结束 事件
-
- 事件 主窗口.创建完毕()
- 保存窗口("主窗口",主窗口)
-
-
- 结束 事件
-
- 事件 编辑框1.内容被改变(新内容 为 文本型)
-
- 结束 事件
-
- 事件 编辑框2.内容被改变(新内容 为 文本型)
-
- 结束 事件
-
-
- 事件 按钮2.被单击()
- 结束程序()
- 结束 事件
- ——————————————————————————————————————————————————
代码为:
- 变量 客户1 为 客户
- 事件 通信窗口.创建完毕()
- 客户1 = 读取对象("客户1") '读取在主窗口中保存的客户组件
- 结束 事件
-
- 事件 客户1.收到数据(数据 为 字节型())
- 编辑框1.内容 = 编辑框1.内容 & "" & "服务器:" & "" & 字节到文本(数据,"GBK") '收到服务器发来的字节集数据,转换成文本
- 编辑框1.置光标位置(取文本长度(编辑框1.内容))
- 结束 事件
-
- 事件 按钮1.被单击()
- 编辑框1.内容 = 编辑框1.内容 & "" & "客户端:" & "" & 编辑框2.内容
- 客户1.发送数据(文本到字节(编辑框2.内容,"GBK")) '向服务器发送数据
- 结束 事件
-
- 事件 按钮3.被单击()
- 客户1.断开连接() '断开与服务器的连接
- 结束 事件
-
- 事件 按钮2.被单击()
- 客户1.连接服务器(读取设置("地址"),"80",5000)
- 结束 事件
-
- 事件 客户1.连接断开()
- 弹出提示("连接已断开")
- 结束 事件
-
-
- 事件 按钮4.被单击()
- 切换窗口(读取窗口("主窗口"))
- 结束 事件
-
- 事件 按钮5.被单击()
- 客户1.发送数据(文本到字节("ON","GBK")) '向服务器发送数据
- 结束 事件
-
- 事件 按钮6.被单击()
- 客户1.发送数据(文本到字节("OFF","GBK")) '向服务器发送数据
- 结束 事件
|