UBAINS

 找回密码
 立即注册
搜索
热搜: UBAINS
查看: 2804|回复: 0

[程序方法] 使用_TCP和_UDP对象 TCP客户端 UDP客户端 UDP服务器

[复制链接]

10

主题

11

帖子

449

积分

版主

Rank: 7Rank: 7Rank: 7

积分
449
QQ
发表于 2020-11-6 14:50:07 | 显示全部楼层 |阅读模式
本帖最后由 pidtfork 于 2020-11-6 14:53 编辑

TCP写法

_TCP对象


用于创建一个总是指向固定目标地址和端口的TCP客户端对象,对象一旦创建不允许再修改指向服务器的IP地址端口信息
注意:这是TCP客户端,TCP服务器请API文档


创建 _TCP 对象的语法:
new _TCP(ipPort);
new _TCP(ipPort,backcall);

参数
  参数
  
  类型
  
  描述
  
  ipPort
  
  String
  
  必须。目标IP和端口即TCP服务器的地址和端口
  
  backcall
  
  Function
  
  非必须。客户端接收到服务器的数据触发回调,回调参数值为接收的数据
  



返回值
返回新创建并被初始化了的_TCP对象。


_TCP 对象属性
  属性
  
  描述
  
  ip
  
  传入的TCP服务器IP地址和端口字符串。
  

_TCP 对象方法
  方法
  
  描述
  
  sendCodeString()
  
  往TCP服务器发送数据
  
  delayCodeString()
  
  延时n秒往TCP服务器发送数据
  

说明
_TCP源端口为随机端口,无法固定


例子


创建三个连接到服务器192.168.10.202端口分别为53431/53432/53433的实例


  1. 创建三个连接到服务器192.168.10.202端口分别为53431/53432/53433的实例
  2. var netDev1 = new _TCP("192.168.10.202:53431",function(data){
  3.     //接收到服务器数据
  4.     sendLog("data",data);
  5. });
  6. varnetDev2 = new _TCP("192.168.10.202:53432",serverReceive); //收到tcp服务器数据执行serverReceive函数
  7. varnetDev3 = new _TCP("192.168.10.202:53433"); //不处理服务器数据,接收到数据将丢弃

  8. //定义接收服务器数据的回调函数
  9. function serverReceive(data) {
  10.     //接收到服务器数据
  11.     sendLog("data",data);
  12. }

  13. //发送数据
  14. netDev1.sendCodeString("hello ubains\x0d\x0a");  //往tcp server 192.168.10.202:53431 发送数据
  15. netDev2.delayCodeString(1,"helloubains\r\n");  //往tcp server 192.168.10.202:53432 发送数据
  16. netDev3.sendCodeString("\x41\x42\x43");      //往tcp server 192.168.10.202:53433 发送数据
复制代码


UDP写法

_UDP对象


用于创建一个UDP服务器和客户端对象


创建 _UDP 对象的语法:
new _UDP(serverPort,ipPort);
new _UDP(serverPort,ipPort,backcall);

参数
  参数
  
  类型
  
  描述
  
  serverPort
  
  Number
  
  必须。本机服务端口,用于接收UDP数据
  
  ipPort
  
  String
  
  必须。目标UDP服务器的IP和端口
  
  backcall
  
  Function
  
  非必须。客户端接收数据触发回调,回调参数值为接收的数据
  


返回值
返回新创建并被初始化了的_UDP对象。




_UDP
对象属性
  属性
  
  描述
  
  ip
  
  实例化时传入的目标服务器IP地址和端口字符串。
  
  port
  
  实例化对象使用的UDP端口
  

_UDP 对象方法
  方法
  
  描述
  
  sendCodeString()
  
  往TCP服务器发送数据
  
  delayCodeString()
  
  延时n秒往TCP服务器发送数据
  

说明
实例化返回的_UDP对象,发送数据时源端口为创建的UDP服务器端口
作为UDP客户端使用时,目标IP和端口可以任意改变


例子


创建三个UDP对象分别往192.168.10.202的端口53441/53442/53443发送数据


  1. var netDev4 = new _UDP(30001,"192.168.10.202:53441",function(data){
  2.     //接收到服务器数据
  3.     sendLog("data",data);
  4. });
  5. varnetDev5 = new _UDP(30002,"192.168.10.202:53442",serverReceive); //收到tcp服务器数据执行serverReceive函数
  6. varnetDev6 = new _UDP(30003,"192.168.10.202:53443"); //不处理服务器数据,接收到数据将丢弃

  7. //定义接收服务器数据的回调函数
  8. function serverReceive(data) {
  9.     //接收到服务器数据
  10.     sendLog("data",data);
  11. }

  12. //发送数据
  13. netDev4.sendCodeString("hello ubains\x0d\x0a");  //往udp server 192.168.10.202:53431 发送数据
  14. netDev5.delayCodeString(1,"helloubains\r\n");  //延时1秒往udp server 192.168.10.202:53432 发送数据
  15. netDev6.sendCodeString("\x41\x42\x43");      //往udp server 192.168.10.202:53433 发送数据
复制代码


例子2

UDP对象可以往不同的地址和端口发送数据

  1. var netDev7 = new _UDP(30004,"192.168.10.202:53444"); //不处理服务器数据,接收到数据将丢弃

  2. netDev7.sendCodeString("ubains"); //192.168.10.202:53444
  3. netDev7.sendCodeString("192.168.10.202:53443","ubains"); //192.168.10.202:53443
  4. netDev7.sendCodeString("192.168.10.202:53442","ubains"); //192.168.10.202:53442
  5. netDev7.sendCodeString("192.168.10.202:53441","ubains"); //192.168.10.202:53441
  6. netDev7.sendCodeString("192.168.10.255:12345","ubains"); //UDP广播包 端口 12345
  7. netDev7.sendCodeString("192.168.10.201:8081","ubains"); //192.168.10.201:8081

  8. //一个参数时实例化时传入的地址 源端口始终为30004
  9. netDev7.sendCodeString("ubains"); //只有一个参数时始终发送到 192.168.10.202:53444

  10. netDev7.delayCodeString(1,"helloubains");  //延时发送
  11. netDev7.delayCodeString(1,"192.168.10.255:12345","helloubains");  //延时发送广播
复制代码









高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

Archiver|手机版|小黑屋|BBS.UBAINSYUN.COM

GMT+8, 2024-11-23 10:35 , Processed in 0.036205 second(s), 19 queries .

Powered by UBAINS! X3.4

© 2001-2017 UBAINS Inc.

快速回复 返回顶部 返回列表