android c#websocket传送图片

2023-11-19

这个失败了,传一张可以,一直传就报错:

  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);
                    }
                });
            }
        });

    }

 

 last_sendDate=new Date(System.currentTimeMillis());
                                YuvImage yuvimage1 = new YuvImage(mNv21Data, ImageFormat.NV21, tmpWidth, tmpHeight, null);
                                ByteArrayOutputStream baosa = new ByteArrayOutputStream();
                                yuvimage1.compressToJpeg(new Rect(0, 0, tmpWidth, tmpHeight), 100, baosa);// 80--JPG图片的质量[0-100],100最高
                                byte[] rawImage1 = baosa.toByteArray();

                                if (AsynUtils.mywebSocket != null) {
                                    BitmapFactory.Options optionsCache = new BitmapFactory.Options();
                                    optionsCache.inPreferredConfig = Bitmap.Config.RGB_565;
                                    //  final Bitmap bitmap = BitmapFactory.decodeByteArray(rawImage1, 0, rawImage1.length, optionsCache);
                                    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, base64.getBytes(), new CompletedCallback() {
                                        @Override
                                        public void onCompleted(Exception ex) {
                                            if (ex != null) {
                                                Log.d("Socket", "writeAll出错");
                                                return;
                                            }
                                            //  Log.d("Socket", "发送了:" + order);
                                        }
                                    });
                                    //  AsynUtils.mywebSocket=null;
                                }

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android c#websocket传送图片 的相关文章

  • 如何在MVVM中管理多个窗口

    我知道有几个与此类似的问题 但我还没有找到明确的答案 我正在尝试深入研究 MVVM 并尽可能保持纯粹 但不确定如何在坚持模式的同时启动 关闭窗口 我最初的想法是向 ViewModel 发送数据绑定命令 触发代码来启动一个新视图 然后通过 X
  • 将复选框添加到 UniformGrid

    我正在尝试将复选框动态添加到 wpf 中的统一网格中 但看起来网格没有为它们分配足够的空间 所以它们都有点互相重叠 这就是我将它们添加到后面的代码中的方法 foreach string folder in subfolders PathCh
  • 如何使 Windows 窗体的关闭按钮不关闭窗体但使其不可见?

    该表单有一个 NotifyIcon 对象 当用户单击 关闭 按钮时 我希望表单不关闭而是变得不可见 然后 如果用户想再次查看该表单 可以双击系统托盘中的图标 如果用户想关闭表单 可以右键单击该图标并选择 关闭 有人可以告诉我如何使关闭按钮不
  • 当我使用“control-c”关闭发送对等方的套接字时,为什么接收对等方的套接字不断接收“”

    我是套接字编程的新手 我知道使用 control c 关闭套接字是一个坏习惯 但是为什么在我使用 control c 关闭发送进程后 接收方上的套接字不断接收 在 control c 退出进程后 发送方的套接字不应该关闭吗 谢谢 我知道使用
  • 获取按下的按钮的返回值

    我有一个在特定事件中弹出的表单 它从数组中提取按钮并将标签值设置为特定值 因此 如果您要按下或单击此按钮 该函数应返回标签值 我怎样才能做到这一点 我如何知道点击了哪个按钮 此时代码返回 DialogResult 但我想从函数返回 Tag
  • pthread_cond_timedwait() 和 pthread_cond_broadcast() 解释

    因此 我在堆栈溢出和其他资源上进行了大量搜索 但我无法理解有关上述函数的一些内容 具体来说 1 当pthread cond timedwait 因为定时器值用完而返回时 它如何自动重新获取互斥锁 互斥锁可能被锁定在其他地方 例如 在生产者
  • 从父类调用子类方法

    a doStuff 方法是否可以在不编辑 A 类的情况下打印 B did stuff 如果是这样 我该怎么做 class Program static void Main string args A a new A B b new B a
  • 未解决的包含:“cocos2d.h” - Cocos2dx

    当我在 Eclipse 中导入 cocos2dx android 项目时 我的头文件上收到此警告 Unresolved inclusion cocos2d h 为什么是这样 它实际上困扰着我 该项目可以正确编译并运行 但我希望这种情况消失
  • C++ 子字符串返回错误结果

    我有这个字符串 std string date 20121020 我正在做 std cout lt lt Date lt lt date lt lt n std cout lt lt Year lt lt date substr 0 4 l
  • 如何忽略“有符号和无符号整数表达式之间的比较”?

    谁能告诉我必须使用哪个标志才能使 gcc 忽略 有符号和无符号整数表达式之间的比较 警告消息 gcc Wno sign compare 但你确实应该修复它警告你的比较
  • 获取没有非标准端口的原始 url (C#)

    第一个问题 环境 MVC C AppHarbor Problem 我正在调用 openid 提供商 并根据域生成绝对回调 url 在我的本地机器上 如果我点击的话 效果很好http localhost 12345 login Request
  • WPF TabControl,用C#代码更改TabItem的背景颜色

    嗨 我认为这是一个初学者的问题 我搜索了所有相关问题 但所有这些都由 xaml 回答 但是 我需要的是后台代码 我有一个 TabControl 我需要设置其项目的背景颜色 我需要在选择 取消选择和悬停时为项目设置不同的颜色 非常感谢你的帮助
  • 从路径中获取文件夹名称

    我有一些路c server folderName1 another name something another folder 我如何从那里提取最后一个文件夹名称 我尝试了几件事 但没有成功 我只是不想寻找最后的 然后就去休息了 Thank
  • 将自定义元数据添加到 jpeg 文件

    我正在开发一个图像处理项目 C 我需要在处理完成后将自定义元数据写入 jpeg 文件 我怎样才能做到这一点 有没有可用的图书馆可以做到这一点 如果您正在谈论 EXIF 元数据 您可能需要查看exiv2 http www exiv2 org
  • Github Action 在运行可执行文件时卡住

    我正在尝试设置运行google tests on a C repository using Github Actions正在运行的Windows Latest 构建过程完成 但是当运行测试时 它被卡住并且不执行从生成的可执行文件Visual
  • clang 实例化后静态成员初始化

    这样的代码可以用 GCC 编译 但 clang 3 5 失败 include
  • 如何在 VBA 中声明接受 XlfOper (LPXLOPER) 类型参数的函数?

    我在之前的回答里发现了问题 https stackoverflow com q 19325258 159684一种无需注册即可调用 C xll 中定义的函数的方法 我之前使用 XLW 提供的注册基础结构 并且使用 XlfOper 类型在 V
  • 将 xml 反序列化为类,list<> 出现问题

    我有以下 XML
  • 如何使我的表单标题栏遵循 Windows 深色主题?

    我已经下载了Windows 10更新包括黑暗主题 文件资源管理器等都是深色主题 但是当我创建自己的 C 表单应用程序时 标题栏是亮白色的 如何使我自己的桌面应用程序遵循我在 Windows 中设置的深色主题 你需要调用DwmSetWindo
  • 需要哪个版本的 Visual C++ 运行时库?

    microsoft 的最新 vcredist 2010 版 是否包含以前的版本 2008 SP1 和 2005 SP1 还是我需要安装全部 3 个版本 谢谢 你需要所有这些

随机推荐

  • PostgreSQL 关于Jsonb字段的处理详解(长期更)

    大家好 在开发的过程中由于业务复杂多变 普通的字符串格式满足不了业务开发需求 可能会用到jsonb字段去处理格外逻辑的业务 话不多说 1 一般jsonb存储的逻辑是 一个字段里面存储多条数据 以id为存储对象举例 该jsonb字段中存储的多
  • 参考文献格式GB/T 7714-2015的主要内容

    格式 主要责任者 题名 其他题名信息 文献类型标志 其他责任者 版本项 出版地 出版者 出版年 引文页码 引用日期 获取和访问路径 示例 1 余敏 出版集体研究 M 北京 中国书籍出版社 2001 179 193 2 昂温 G 昂温 P S
  • 八种点云聚类方法(一)— DBSCAN

    本文为博主原创文章 未经博主允许不得转载 本文为专栏 python三维点云从基础到深度学习 系列文章 地址为 https blog csdn net suiyingy article details 124017716 传统机器学习聚类的方
  • 步步学ACTIVEX网页控件开发

    本文将首先介绍如何使用Visual Studio开发一个简单的ActiveX控件 然后介绍ActiveX控件开发相关的基础知识 比如方法 属性和事件等 最后介绍如何利用这些知识 实现ActiveX控件和网页页面之间的 通信 MyActive
  • 【java面试常见2】

    文章目录 1 返回json串要加什么注解 2 RestController包含了什么注解 3 docker拉取镜像 4 springMVC的相关注解 5 vue框架和HTML有什么区别 为什么要使用vue 6 从Mysql中随机获取数据用什
  • untiy特殊文件夹

    1 Editor Editor文件夹可以在根目录下 也可以在子目录里 只要名子叫Editor就可以 比如目录 xxx xxx Editor 和 Editor 是一样的 无论多少个叫Editor的文件夹都可以 Editor下面放的所有资源文件
  • Windows挂载Linux网络共享文件夹

    Windows挂载Linux网络共享文件夹 创建Linux网络共享文件夹 用共享工具samba Ubuntu安装samba sudo apt install samba 配置Windows访问共享文件夹的账户 smbpasswd a riv
  • www.gvlib video.php,www.gvlib.com

    Domain Name gvlib com Registrar URL http www godaddy com Registrant Name Bin Song Registrant Organization Name Server NS
  • 13. linux系统监控

    系统监控 proc文件系统 proc文件系统是一种无存储的文件系统 当读其中的文件时 其内容动态 生成 当写文件时 文件所关联的写函数被调用 每个proc文件都关联着 字节特定的读写函数 因而它提供了另外的一种和内核通信的机制 内核 部件可
  • Dlib的编译

    有2种方法 1 新建空的工程 导入后编译 2 采用CMake自动生成工程文件后 再编译 官网上建议第1种方法 第1种方法好处就是编译后 在使用lib文件时 不需要将libjpeg libpng and zlib目录下的文件导入到工程文件中
  • 1.3>7?微软新模型“以小博大”战胜Llama2,网友:用Benchmark训练的吧?

    克雷西 发自 凹非寺量子位 公众号 QbitAI 一个参数量只有1 3B的大模型 为何引发了全网热议 原来虽然参数量不大 但效果已经超过了拥有7B参数的Llama2 这个 四两拨千斤 的模型 是来自微软最新的研究成果 核心在于只使用少量高质
  • vue2侦听器watch的概念与使用

    1 什么是watch侦听器 watch侦听器允许开发者监视数据的变化 是 vue 提供的一种用来观察和响应实例上数据变化的属性 属性发生变化 便会触发对应的监听函数 侦听器 watch 实际上是 vue 实例中的一个对象属性 语法格式如下
  • IUnknown—COM和MFC

    转自 http hi baidu com zhangqiuxi blog item 6d9603ad9c8fe5084b36d6a0 html 问题 我用MFC编写COM程序有一段时间了 知道如何使用宏和嵌套类 以及如何在嵌套类中处理IUn
  • ArcGIS水文分析实战教程(18) 河段桩号与线性参考

    ArcGIS水文分析实战教程 18 河段桩号与线性参考 本章导读 在很多线性要素的应用中 桩号扮演着非常重要的角色 例如高速公路 使用桩号可以快速的描述某个事件在该路段的大概位置 同样是线性要素的河流 也可以加入桩号进行管理 作为河岸开发
  • python3中csv模块或者open模块写入中文乱码问题

    with open abc csv a newline encoding utf 8 sig as f writer csv writer f writer writerow bb 需要utf 8 sig模式才可以
  • AIGC产生内容的版权到底归属于谁?

    随着ChatGPT的火热 AIGC 人工智能生成内容 产生的内容越来越被大众使用 但是 有一个问题一直困扰着大家 包括放牛娃 那就是 AIGC产生的内容 有版权吗 版权到底归属于谁 01 什么是AIGC AIGC是指人工智能生成内容 也称为
  • 专利与论文-7:专利在哪儿?如何发现专利?思维分析方法

    前言 专利的最核心的要素 不在于如何熟悉专利申请的流程 也不在于如何写一份符合法律要求的 能够真正保护自己权利的专利申请文件 也不在于专利申请需要花多少钱 而在于如何产生一个真正有价值的专利本身 这是一个思维创造的过程 是拥有自己专利的最难
  • 火爆全网的人工智能聊天机器人使用教程

    最近 大家有没有被一款人工智能聊天机器人所刷屏呢 记得之前元宇宙刚出来的时候 也是极其火爆 虽说这二者是不同的性质 但是都是代表着当下互联网发展之迅速 一 简介 百度百科中给出的解释 美国 开放人工智能研究中心 研发的聊天机器人程序 于20
  • 自定义窗口部件,QT之为什么要delete ui,而其它new对象不用delete

    QT的父子对象机制是在 QWidget和QOject中实现的 当我们使用父对象来创建一个对象的时候 父对象会把这个对象添加到自己的子对象列表中 当这个父对象被删除的时候 它会遍历它的子对象类表并且删除每一个子对象 然后子对象们自己再删除它们
  • android c#websocket传送图片

    这个失败了 传一张可以 一直传就报错 public static void startHttpClientWebSocket AsyncHttpClient getDefaultInstance websocket ws 192 168 2