1、配置
[UDP CLIENT]
;for client 是否开启服务器主动请求一个外部udp
udp_client_enable=1
;要请求的外部主机地址
udp_client_host=localhost
;要请求的外部主机端口
udp_client_port=6666
;是否启用类覆盖
udp_client_override=0
;如果启用类覆盖,指定用来覆盖的类名,必须继承UdpClient
udp_client_class=test.z.udp.MyUdpClient
;外部主机响应后调用类的包名设置
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,方法类型不限定,但最终会以字符串输出到客户端
获取前端参数,即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 OnError(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);
}
}