endian11
2019-12-13 29c1adb9502beb6f6afd8eec0d688b0f27d04f0f
跑通收数据
7个文件已修改
88 ■■■■■ 已修改文件
app/src/main/java/safeluck/drive/evaluation/fragment/TcpFragment.java 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/im/IMSClientBootstrap.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/im/IMSConnectStatusListener.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/im/IMSEventListener.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
im_lib/src/main/java/com/anyun/im_lib/netty/NettyTcpClient.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
im_lib/src/main/java/com/anyun/im_lib/netty/TCPChannelInitializerHandler.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
im_lib/src/main/java/com/anyun/im_lib/netty/TCPReadHandler.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/fragment/TcpFragment.java
@@ -31,6 +31,8 @@
import safeluck.drive.evaluation.DB.failitems.FailedProj;
import safeluck.drive.evaluation.DB.failitems.FailedProj_select;
import safeluck.drive.evaluation.R;
import safeluck.drive.evaluation.im.IMSClientBootstrap;
import safeluck.drive.evaluation.im.MessageProcessor;
import safeluck.drive.evaluation.tcp.ConnectThread;
/**
@@ -61,7 +63,7 @@
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.layout_tcpclient, container, false);
        initView(view);
        workViewModel =ViewModelProviders.of(this).get(CriteriaIViewModel.class);
//        workViewModel =ViewModelProviders.of(this).get(CriteriaIViewModel.class);
  
        return view;
@@ -83,22 +85,37 @@
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.btn_connect:
//                String serverIp = ip.getText().toString().trim();
//                String serverPort = port.getText().toStrirng().trim();
//            connectThread = new ConnectThread(serverIp,Integer.parseInt(serverPort));
//            connectThread.start();
                    Random random = new Random();
                r = random.nextInt(30)+1;
                Log.i(TAG, "onClick: 随机数="+r);
                WorkRoomDataBase.dataBaseWriteExecutor.execute(new Runnable() {
                    @Override
                    public void run() {
                WorkRoomDataBase.getWorkRoomDataBase(getContext().getApplicationContext()).getFailProjDao().insert(new FailedProj(flag?1:2, r,flag?1001:1000));
                flag = !flag;
                    }
                });
                /**======================以下用于测试数据库==================*/
//                Random random = new Random();
//                r = random.nextInt(30)+1;
//                Log.i(TAG, "onClick: 随机数="+r);
//                WorkRoomDataBase.dataBaseWriteExecutor.execute(new Runnable() {
//                    @Override
//                    public void run() {
//
//                WorkRoomDataBase.getWorkRoomDataBase(getContext().getApplicationContext()).getFailProjDao().insert(new FailedProj(flag?1:2, r,flag?1001:1000));
//                flag = !flag;
//                    }
//                });
                /**======================测试数据库结束==================*/
                String userId = "100002";
                String token = "token_" + userId;
                String hosts = "[{\"host\":\"192.168.10.234\", \"port\":8855}]";
                IMSClientBootstrap.getInstance().init(userId,token,hosts,1);
                break;
            case R.id.btn_send:
//                if (connectThread != null){
@@ -106,6 +123,10 @@
////                    sendEditText.getText().clear();
////                }
                MessageProcessor.getInstance().sendMessage(sendEditText.getText().toString().trim());
                break;
        }
    }
app/src/main/java/safeluck/drive/evaluation/im/IMSClientBootstrap.java
@@ -3,12 +3,14 @@
import android.util.Log;
import com.anyun.im_lib.interf.IMSClientInteface;
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.util.Vector;
@@ -78,18 +80,21 @@
    }
    private Vector<String> convertHosts(String hosts) {
        Log.i(TAG, "convertHosts: "+hosts);
        if (hosts != null && hosts.length() > 0) {
            JsonArray hostArray =  JsonParser.parseString(hosts).getAsJsonArray();
            if (null != hostArray && hostArray.size() > 0) {
                Vector<String> serverUrlList = new Vector<String>();
                JsonObject host;
                for (int i = 0; i < hostArray.size(); i++) {
                    host = JsonParser.parseString(hostArray.get(i).toString()).getAsJsonObject();
                    serverUrlList.add(host.get("host") + " "
                            + host.get("port"));
                }
                return serverUrlList;
            Vector<String> serverUrlList = new Vector<>();
            JsonArray jsonArray =JsonParser.parseString(hosts).getAsJsonArray();
            for (int i = 0; i < jsonArray.size(); i++) {
                JsonObject host = jsonArray.get(i).getAsJsonObject();
                String hostName = host.get("host").getAsString();
                int port = host.get("port").getAsInt();
                Log.i(TAG, "convertHosts: hostname="+hostName+"  port="+port);
                serverUrlList.add(hostName+" "+port);
            }
                return serverUrlList;
        }
app/src/main/java/safeluck/drive/evaluation/im/IMSConnectStatusListener.java
@@ -1,5 +1,7 @@
package safeluck.drive.evaluation.im;
import android.util.Log;
import com.anyun.im_lib.listener.IMSConnectStatusCallback;
/**
@@ -9,18 +11,21 @@
 * All Rights Saved! Chongqing AnYun Tech co. LTD
 */
public class IMSConnectStatusListener implements IMSConnectStatusCallback {
    private static final String TAG = IMSConnectStatusListener.class.getSimpleName();
    @Override
    public void onConnecting() {
        Log.i(TAG, "onConnecting: ");
    }
    @Override
    public void onConnected() {
        Log.i(TAG, "onConnected: ");
    }
    @Override
    public void onConnectFailed() {
        Log.i(TAG, "onConnectFailed: ");
    }
}
app/src/main/java/safeluck/drive/evaluation/im/IMSEventListener.java
@@ -25,7 +25,7 @@
    @Override
    public boolean isNetWorkAvailable() {
        return false;
        return true;
    }
    @Override
im_lib/src/main/java/com/anyun/im_lib/netty/NettyTcpClient.java
@@ -478,7 +478,6 @@
                    try {
                        currentPort = Integer.parseInt(address[1]);
                        currentHost = address[0];
                        Log.i(TAG, String.format("解析地址[%s],port[%d]",currentHost,currentPort));
                        //连接服务器
                        toServer();
                        //channel不为空,则认为连接已经成功
im_lib/src/main/java/com/anyun/im_lib/netty/TCPChannelInitializerHandler.java
@@ -9,6 +9,7 @@
import io.netty.channel.ChannelPipeline;
import io.netty.handler.codec.FixedLengthFrameDecoder;
import io.netty.handler.codec.LengthFieldBasedFrameDecoder;
import io.netty.handler.codec.LineBasedFrameDecoder;
/**
 * MyApplication2
@@ -52,6 +53,7 @@
        pipeline.addLast(new FixedLengthFrameDecoder(10));  // 测试用  固定长度消息
        //握手认证消息相应处理handler
//        pipeline.addLast(LoginAuthRespHandler.class.getSimpleName(), new LoginAuthRespHandler(imsClient));
im_lib/src/main/java/com/anyun/im_lib/netty/TCPReadHandler.java
@@ -58,14 +58,12 @@
    @Override
    public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
        super.channelRead(ctx, msg);
        // TODO: 2019/12/4
        //服务端返回消息后
        ByteBuf buf = (ByteBuf) msg;
        byte[] req = new byte[buf.readableBytes()];
        buf.readBytes(req);
        String str = new String(req, "UTF-8");
        System.out.println("服务端数据为 :" + str);
        Log.i(TAG, "channelRead: "+     str);
        imsClient.getMsgDispatcher().receivedMsg(   str  );