android c# websocket

举报
风吹稻花香 发表于 2021/06/05 23:26:10 2021/06/05
5.1k 0 0
【摘要】 android 发送图片,调试时,能正常收到,一旦错乱,后面全部错乱了。 websocket判断第一位数据大于128,否则,就会解析出错。   int a = (156 & 0x80); 或者解析长度为127,则只能读取127位数据,后面的数据都丢了。 出错原因估计是丢包了。 public static void startHttpClientW...

android 发送图片,调试时,能正常收到,一旦错乱,后面全部错乱了。

websocket判断第一位数据大于128,否则,就会解析出错。

  int a = (156 & 0x80);

或者解析长度为127,则只能读取127位数据,后面的数据都丢了。

出错原因估计是丢包了。


      public static void startHttpClientWebSocket() {
       AsyncHttpClient.getDefaultInstance().websocket("ws://192.168.27.54:" + PORT, null, new AsyncHttpClient.WebSocketConnectCallback() {
      @Override
      public void onCompleted(Exception ex, WebSocket webSocket) {
       Log.i(TAG, "----------------startHttpClientWebSocket------websocket---onCompleted-" + webSocket);
      if (ex != null) {
       ex.printStackTrace();
      return;
       }
       webSocket.setDataCallback(new DataCallback() {
      @Override
      public void onDataAvailable(DataEmitter emitter, ByteBufferList bb) {
       Log.d("Socket", "接收到:" + new String(bb.getAllByteArray()));
       }
       });
       webSocket.setClosedCallback(new CompletedCallback() {
      @Override
      public void onCompleted(Exception ex) {
      if (ex != null) {
       Log.d("Socket", "setClosedCallback出错");
      return;
       }
       Log.d("Socket", "setClosedCallback");
       }
       });
       webSocket.setEndCallback(new CompletedCallback() {
      @Override
      public void onCompleted(Exception ex) {
      if (ex != null) {
       Log.d("Socket", "setEndCallback出错");
      return;
       }
       Log.d("Socket", "setEndCallback");
       }
       });
       webSocket.setWriteableCallback(new WritableCallback() {
      @Override
      public void onWriteable() {
       Log.d("Socket", "onWriteable");
       }
       });
       mywebSocket=webSocket;
      final String order = "测试信息";
      // Util.writeAll(webSocket, order.getBytes(), new CompletedCallback() {
      // @Override
      // public void onCompleted(Exception ex) {
      // if (ex != null) {
      // Log.d("Socket", "writeAll出错");
      // return;
      // }
      // Log.d("Socket", "发送了:" + order);
      // }
      // });
       }
       });
  
 

        byte[] encode = Base64.encode(rawImage1, Base64.DEFAULT);
      // String base64 = new String(encode);
      // String faceBase64 = bitmapToBase64(bitmap).replace("=", "").replace("/", "_").replace("+", "-").replace("\n", "");
      final String order = "测试信息";
       Util.writeAll(AsynUtils.mywebSocket, encode, new CompletedCallback() {
      @Override
      public void onCompleted(Exception ex) {
      if (ex != null) {
       Log.d("Socket", "writeAll出错");
      return;
       }
      // Log.d("Socket", "发送了:" + order);
       }
       });
  
 

文章来源: blog.csdn.net,作者:网奇,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/jacke121/article/details/103614276

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。