Commit 7df562e2 authored by sheteng's avatar sheteng

链接超时错误码

parent e9e98975
......@@ -119,12 +119,32 @@ public class CCIMClient {
}
@Override
public void onSocketDisconnection() {
public void onSocketDisconnection(int code) {
isConnected = false;
logger.info("disconnection");
resultCallback.onSocketDisconnection();
resultCallback.onSocketDisconnection(code);
}
});
initCachePath(context);
}
/**
* 初始化缓存目录
*
* @param context
*/
private void initCachePath(Context context) {
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
cachePath = context.getExternalFilesDir("cache").getAbsolutePath();
} else {
cachePath = context.getCacheDir().getAbsolutePath();
}
File fileDir = new File(cachePath);
boolean b = !fileDir.exists();
if (b) {
fileDir.mkdirs();
}
}
......
......@@ -7,7 +7,7 @@ public interface MessageListener {
}
default void onServerDisConnect(){
default void onServerDisConnect(int code){
}
void onMessageListener(Chat.ChatResponseMessage data);
......
......@@ -5,5 +5,5 @@ import ccim.protocol.Chat;
public interface OnClientConnectListener {
void onSocketConnection(Chat.ConnectResponse.ClientConfig clientConfig);
void onSocketReConnection();
default void onSocketDisconnection(){};
default void onSocketDisconnection(int code){};
}
......@@ -2,5 +2,5 @@ package com.ccwangluo.ccim.listener;
public interface OnConnectListener {
void onSocketConnection();
void onSocketDisconnection();
void onSocketDisconnection(int errorCode);
}
......@@ -11,6 +11,7 @@ import com.ccwangluo.ccim.listener.OnClientConnectListener;
import com.ccwangluo.ccim.listener.ResultEventCallback;
import com.ccwangluo.ccim.socket.NettyChatClient;
import com.ccwangluo.ccim.socket.SocketClient;
import com.ccwangluo.ccim.util.ErrorCode;
import com.google.protobuf.util.JsonFormat;
import java.util.logging.Logger;
......@@ -65,7 +66,7 @@ public class SocketManager {
@Override
public void onFailed(int errorCode) {
onConnectListener.onSocketDisconnection();
onConnectListener.onSocketDisconnection(errorCode);
disConnect();
}
});
......@@ -83,8 +84,12 @@ public class SocketManager {
}
@Override
public void onServerDisConnect() {
onConnectListener.onSocketReConnection();
public void onServerDisConnect(int code) {
if (code == ErrorCode.NET_ERROR){
onConnectListener.onSocketDisconnection(code);
} else {
onConnectListener.onSocketReConnection();
}
}
@Override
......@@ -122,6 +127,7 @@ public class SocketManager {
e.printStackTrace();
}
}
});
}
......
......@@ -7,6 +7,7 @@ import android.net.NetworkInfo;
import com.ccwangluo.ccim.CCIMClient;
import com.ccwangluo.ccim.listener.MessageListener;
import com.ccwangluo.ccim.util.ErrorCode;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
......@@ -33,23 +34,18 @@ import io.netty.handler.codec.protobuf.ProtobufEncoder;
public class NettyChatClient implements SocketClient {
private final Logger logger = Logger.getLogger(CCIMClient.class.getName());
private MessageListener msglitener;
private ChannelFuture channelFuture;
private final String ip;
private final int port;
private Bootstrap bootstrap;
private Context context;
EventLoopGroup group = new NioEventLoopGroup();
private ExecutorService executor = Executors.newSingleThreadExecutor();
ScheduledExecutorService timerExcutor;
public NettyChatClient(Context context, String ip, int port) {
this.ip = ip;
this.port = port;
......@@ -90,6 +86,9 @@ public class NettyChatClient implements SocketClient {
channelFuture = bootstrap.connect(ip, port).sync();
} catch (Exception e) {
e.printStackTrace();
if (msglitener != null){
msglitener.onServerDisConnect(ErrorCode.NET_ERROR);
}
}
});
}
......@@ -185,7 +184,7 @@ public class NettyChatClient implements SocketClient {
public void channelInactive(ChannelHandlerContext ctx) throws Exception {
super.channelInactive(ctx);
logger.info("channelInactive");
msglitener.onServerDisConnect();
msglitener.onServerDisConnect(ErrorCode.NET_TIME_OUT);
}
/**
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment