server_client_socket-master.zip

  • 美好世界
    了解作者
  • Java
    开发工具
  • 158KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 0
    下载次数
  • 2021-03-12 06:56
    上传日期
适合手机客户度使用的 客户端方式连接服务器 和 作为消息服务器对设备提供服务 的socket 封装,采用byte[] 方式进行数据传输 ,支持数据回调,数据超时, #支持异步发送任务,心跳机制
server_client_socket-master.zip
内容介绍
# server_client_socket #适合手机客户度使用的 客户端方式连接服务器 和 作为消息服务器对设备提供服务 的socket 封装,采用byte[] 方式进行数据传输 ,支持数据回调,数据超时, #支持异步发送任务,心跳机制 此版本为第一版可能有一些问题,还请把问题反馈到issues or 加入群570278493 寻找 万里无云 此外欢迎大家修改源码 我将第一时间审核代码并合进分支 UML 草图 ![Aaron Swartz](https://raw.githubusercontent.com/waddwaw/server_client_socket/master/uml.png) 使用方法 IRecvHander 为我们收到消息回调类 ```java /** * 解析二进制消息 并转化成 IMessage 实体 * @param nServerID * @param recvMsg * @param rcvSize * @return */ public abstract T handleRecvByteMsg(int nServerID, byte[] recvMsg, int rcvSize); /** * 消息处理失败进行回调 * @param nServerID */ public abstract void clearRecvMsg(int nServerID); /** * 处理心跳消息 验证此消息是否为心跳包 返回boolean * @param nServerID * @param message * @return */ public abstract boolean handlerHeartBeat(int nServerID, IMessage message); /** * 业务逻辑包 * @param t */ public abstract void handleMsg(int nServerID, T t); /** * 获取发送心跳的 Msg * @return */ public abstract T getHeartBeatMsg(); ``` 创建客户端链接 ```java IConnectPolicy.ServerHost host = new IConnectPolicy.ServerHost(); host.serverHost = "172.16.45.196"; host.serverPort = 13911; List<IConnectPolicy.ServerHost> hosts = new ArrayList<>(); hosts.add(host); ClientConnectPolicy policy = new ClientConnectPolicy(110, hosts, 1000 * 10, 10); TestRecvHander recvHander = new TestRecvHander(); Transaction transaction = new Transaction(); ConnectManager.getInstance().addClientConnect(policy, recvHander, transaction, new INetConnectListener() { @Override public void connectStatusChange(int serverID, boolean connected) { Log.d("socket" ,"connectStatusChange:" + serverID + "=====" + connected); } @Override public void failedToConnect(int serverID, Exception e) { Log.d("socket" ,"failedToConnect:" + serverID + "=====" + e.toString()); } }); ``` 作为服务器启动 ```java TestRecvHander recvHander = new TestRecvHander(); Transaction transaction = new Transaction(); ConnectManager.getInstance().addServerConnect(111, 14411, recvHander, transaction, new INetConnectListener(){ @Override public void connectStatusChange(int serverID, boolean connected) { Log.d("socket" ,"connectStatusChange:" + serverID + "=====" + connected); } @Override public void failedToConnect(int serverID, Exception e) { Log.d("socket" ,"failedToConnect:" + serverID + "=====" + e.toString()); } }); ```
评论
    相关推荐