为了账号安全,请及时绑定邮箱和手机立即绑定

java socket 通信socketClient Android端

标签:
Java Android

调用方式:new MyThread().start();
//========================= 服务器=================
    //=================================================
    /**  Socket 客户端*/
    class MyThread extends Thread {

        @Override
        public void run() {
            //定义消息

            Bundle bundle = new Bundle();
            bundle.clear();
            try {

                Socket socket = new Socket("106.15.39.150",65431);//阿里云服务器  IP  ok
                System.out.println("localhost");
                // 2. 获取输出流,并向服务器端发送信息
                OutputStream os = socket.getOutputStream();//字节输出流
                PrintWriter pw = new PrintWriter(os);//将输出流包装为打印流
                pw.write(textRsult.trim());//  此地为发送到服务器的消息
                pw.flush();
                socket.shutdownOutput();//关闭输出流

                // 3. 获取输入流,接收服务器的信息
                InputStream is = socket.getInputStream();//字节输入流
                BufferedReader br = new BufferedReader(new InputStreamReader(is));//将字节流转换为字符流 为输入流添加缓冲
                String info="";
                textLTL = "";
                /**  接收服务器返回的标签 */
                while ((info=br.readLine())!=null) {//循环读取客服端的信息
                    System.out.println("我是客户端,服务器说:  "+info);
                    textLTL += info;
                }
                /**  读出操作*/
                outputLTL=null;
                outputLTL = textLTL;
                if (!outputLTL.trim().equals("")){
                    // 语音合成  服务器返回结果
                    mTts.startSpeaking(outputLTL, mTtsListener);
                }

                /**  不可 在此处修改UI  因为其为县城*/
                /**  所以跳出三界外去更新UI即可  */

                WakeDemo.this.runOnUiThread(updateThread);

                /**  接收确认语音   */

                // 4. 关闭相关资源
                br.close();
                is.close();
                pw.close();
                os.close();
                socket.close();

            } catch (UnknownHostException e) {
                System.err.println("错了  001");
                e.printStackTrace();
            } catch (IOException e) {
                System.err.println("错了  002");
                e.printStackTrace();
            }
        }
    }
    //==========   线程外更新UI =======

    Runnable updateThread = new Runnable()
    {

        @Override
        public void run()
        {
            //更新UI
            showTip(outputLTL);

        }

    };
点击查看更多内容
4人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消