继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

java socket 通信socketClient Android端

尘T陌
关注TA
已关注
手记 17
粉丝 10
获赞 81

调用方式: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);

        }

    };
打开App,阅读手记
4人推荐
发表评论
随时随地看视频慕课网APP