代码拉取完成,页面将自动刷新
JackNetty.jar
netty-buffer-5.0.0.Alpha2.jar
netty-codec-5.0.0.Alpha2.jar
netty-common-5.0.0.Alpha2.jar
netty-handler-5.0.0.Alpha2.jar
netty-resolver-5.0.0.Alpha2.jar
netty-transport-5.0.0.Alpha2.jar
packagingOptions{
exclude 'META-INF/io.netty.versions.properties'
exclude 'META-INF/INDEX.LIST'
}
dependencies {
//通讯依赖
compile files('libs/JackNetty.jar')
compile files('libs/netty-buffer-5.0.0.Alpha2.jar')
compile files('libs/netty-codec-5.0.0.Alpha2.jar')
compile files('libs/netty-common-5.0.0.Alpha2.jar')
compile files('libs/netty-handler-5.0.0.Alpha2.jar')
compile files('libs/netty-resolver-5.0.0.Alpha2.jar')
compile files('libs/netty-transport-5.0.0.Alpha2.jar')
}
实现JackNetty.jar中ILogger,例如:
public class DefaultLogger implements ILogger {
@Override
public void error(Class tag, String error) {
System.out.println("tag:"+tag.getName()+"|error:"+error);
}
@Override
public void warn(Class tag, String warn) {
System.out.println("tag:"+tag.getName()+"|warn:"+warn);
}
@Override
public void debug(Class tag, String debug) {
System.out.println("tag:"+tag.getName()+"|debug:"+debug);
}
@Override
public void info(Class tag, String info) {
System.out.println("tag:"+tag.getName()+"|info:"+info);
}
}
日志记录可根据需求实现对应接口
LoggerManager.getInstance().setiLogger(new DefaultLogger());
这样就设置了底层日志通讯日志按照需求去显示了
建议在service中实现TLVClientListener,新建 XXXServer 继承 TLVClient
public class UserService extends Service implements TLVClientListener {
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
//return super.onStartCommand(intent, flags, startId);
return START_STICKY;
}
@Override
public void onCreate() {
super.onCreate();
LoggerManager.getInstance().getiLogger().info(UserService.class,"UserService 开始启动");
UserServer.getInstance().setContext(this);
UserServer.getInstance().setClientName("android服务");
UserServer.getInstance().setIp("211.157.134.22");
UserServer.getInstance().setPort(53654);
UserServer.getInstance().setRestartFlag(true);
UserServer.getInstance().setTlvClientListener(this);
new Thread(new Runnable() {
@Override
public void run() {
UserServer.getInstance().start();
}
}).start();
LoggerManager.getInstance().getiLogger().info(UserService.class, "UserService 启动完成");
}
@Override
public void onDestroy() {
super.onDestroy();
UserServer.getInstance().stop();
//如果有下面这一句,底层会自动重启启动线程重连,如果没有,服务就自动关闭
UserServer.getInstance().setManualCloseFlag(false);
}
@Override
public void onConnect(String serverId) {
UserServer.getInstance().doOnConnect();
}
@Override
public void onDisconnect(String serverId) {
UserServer.getInstance().doOnDisconnect();
}
@Override
public void onMessage(String serverId,String msg) {
try{
UserServer.getInstance().preDoMessage(msg);
}catch (Exception e){
Log.e(getClass().getName(),"处理消息错误:" + e.getMessage());
}
}
}
================================================================
public class UserServer extends TLVClient {
private static UserServer userServer;
private Context context;
private UserServer(){
}
public Context getContext() {
return context;
}
public void setContext(Context context) {
this.context = context;
}
public static UserServer getInstance(){
if(userServer == null){
userServer = new UserServer();
}
return userServer;
}
public void doOnConnect(){
}
public void doOnDisconnect(){
}
public void preDoMessage(String msgStr){
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型