当前位置:首页 >> 资讯

JKAS开发框架核心技术文档6:网络操作—UDP

来源:资讯   2023年03月12日 12:15

as.core.UdpService;

import java.net.DatagramPacket;

import java.util.HashMap;

import java.io.IOException;

public class MyUdp extends UdpService

{ private boolean hasHandshake=false;

public MyUdp()

{

}

public void OnMessage(DatagramPacket packet,byte[] message)

{String msg="";

try { msg=new String(message);

}catch(Exception e)

{msg=e.toString();

}

usend("goods"+msg);

}

}

三、UDP电台/单播

1、电台

电台电话号码是主要可作用作同时向网路之前所有工作站进行发送的一个电话号码。在使用TCP/IP 协议的网路之前,DS号为全1的IP电话号码为电台电话号码。例如,对于 :192.168.199.0(掩码:255.255.255.0)网段,其电台电话号码为192.168.199.255 (255 即为2进制的11111111 ),当发出一个目的电话号码为192.168.199.255的分组时,它将被分发给该网段上的所有计算机。

1.1 单独电台电话号码

指称作Host部分全为1的电台电话号码。如:192.168.199.255。当某机器发出目的电话号码为单独电台(如:192.168.199.255)时,路由通过查找接入点可以登出,直到该网段。

1.2 局限电台电话号码

也称作本地电台电话号码,它不被路由发送,但会被送回不尽相同科学网路段上的所有DS,IP电话号码的网路号和DS号 全为1就是电话号码255.255.255.255,当某机器发出目的电话号码为本地电台时,路由没有登出该包。所以该包不能限制在本网段

String udpbroadcast(String host,int port,byte[] msg)//host为电台电话号码,port为电台适配器、msg为电台素材,返国1为电台尝试,返国其他为失败缘故

String udpbroadcast(String host,int port,String msg)

2、单播

IP 单播通信需要依赖于 IP 单播电话号码,在 IPv4 之前它是一个 D 类 IP 电话号码,范围内从 224.0.0.0 到 239.255.255.255,并被划分为局部URL单播电话号码、配套单播电话号码和管理权限单播电话号码三类:

1)局部URL单播电话号码范围内在 224.0.0.0~224.0.0.255,这是为路由协议和其它可作保留的电话号码,路由并不登出归入此范围内的IP包;

2)配套单播电话号码为 224.0.1.0~238.255.255.255,可用作世界性范围内(如Internet)或网路协议;

3)管理权限单播电话号码为 239.0.0.0~239.255.255.255,可外组织内部使用,类似于私有 IP 电话号码,无法用作 Internet,可限制单播范围内。

String multibroadcast(String host,int port,byte[] msg)//host为组播电话号码,port为电台适配器、msg为电台素材,返国1为电台尝试,返国其他为失败缘故

String multibroadcast(String host,int port,String msg)

四、UDP IP

1、配有

[UDP CLIENT]

;for client 确实带进服务器主动立即一个缓冲udp

udp_client_enable=1

;要立即的缓冲DS电话号码

udp_client_host=localhost

;要立即的缓冲DS适配器

udp_client_port=6666

;确实启用类构成

udp_client_override=0

;如果启用类构成,原则上用来构成的类名,需要继承UdpClient

udp_client_class=test.z.udp.MyUdpClient

;缓冲DS号召后函数调用类的包名设置

udp_client_package=test.z.udp

2、接收者回应与号召类,每次无法大于1024字节

void usendc(String content)//不能在号召类之前函数调用

void usendc(byte[] content)//不能在号召类之前函数调用

boolean ucsend(String content)//全局可函数调用

boolean ucsend(byte[] content)//全局可函数调用

缓冲机器立即发送格式:

{"app":"test","data":{"name":"sfsd"}}//其它立即,app指称作自己读到的继承于JkasUdpClient的类,act:该类的方法,没传act默认为index

udp client号召类编读到:

udp client类需要继承于JkasUdpClient,方法并不一定不附赠,但最终会以字符可用到IP

获取尾端匹配,即data原始数据方法:

String D()//获取才将 个data原始数据

String D(String key)//获取json形态的data原始数据原则上key的绝对值

事例:

package test.z.udp;

import org.jkas.core.JkasUdpClient;

public class TestClient extends JkasUdpClient

{ public String index()

{ usendc("abcdefg");

return "udp client";

}

}

号召可用:

{"code":404,"msg":"Bad Request"}//app或act名称作完全符合立即

{"code":200,"msg":"success"}//收到非Json接收者,不好好任何处理

{"code":404,"msg":"Please set the package in the configuration file first."}//包名没配有可用

{"code":404,"msg":"notice messages"}//各种提示接收者

{"code":500,"msg":"invalid json data"}//立即的JSON格式误判

如果是示例类,字符原状可用

3、示例Udp Client

示例udp client的类,需要继承UdpClient

并且要同时带进

udp_client_enable=1

udp_client_override=1

带进示例udp client后,udp client号召类登出将过热

构成如下方法进行示例类的好好到,可以不全部构成:

public void OnMessage(DatagramPacket packet,byte[] message)//收到接收者

public void (DatagramPacket packet,String error)//再次出现误判

事例:

package test.z.udp;

import org.jkas.core.UdpClient;

import java.net.DatagramPacket;

public class MyUdpClient extends UdpClient

{

public MyUdpClient()

{

}

public void OnMessage(DatagramPacket packet,byte[] message)

{String msg="";

try { msg=new String(message);

}catch(Exception e)

{msg=e.toString();

}

usendc("goods"+msg);

}

}

贵州生殖感染医院地址
常州哪家医院做人流最好
山东妇科病治疗费用
北京妇科医院哪家医院好
成都治白癜风什么医院好
友情链接