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

Socket 通信

标签:
Android

链接到服务端的线程 在需要链接服务端的时候开启线程
class RequestThread extends Thread {
        @Override
        public void run() {
            // TODO Auto-generated method stub
            super.run();
            try {
                // 1.连接服务器
//                String ip = InetAddress.getLocalHost().getHostAddress();// 服务器Ip地址
                System.out.println("AbsClient*****连接服务器");
                socket = new Socket("192.168.1.110", 8080);// 修改为自己服务器的IP与端口号
                System.out.println("AbsClient*****已经建立连接");
                // 2.发送请求数据 params为要发送的消息
                System.out.println("AbsClient*****发送请求");
                sendRequest(socket.getOutputStream(), "链接服务器");
                socket.isInputShutdown();
                System.out.println("AbsClient*****请求发送成功*****接收响应");
                bufferedInputStream = new BufferedInputStream(socket.getInputStream());
                // 3.接收并解析响应数据  循环监听服务器发送过来的数据
                while (!isInterrupted()) {
                    int size = 0;
                    try {
                        byte[] b = new byte[1024];
                        if (bufferedInputStream == null)
                            return;
                        // 服务器有数据过来的时候就取出数据 没数据的时候就堵塞在这里
                        size = bufferedInputStream.read(b, 0, b.length);
                        if (size > 0) {
                            String mes = new String(b, 0, size); 这是服务端发送过来的数据
                            System.out.println("AbsClient*****响应接收完成*****服务器返回结果");
                        }

                    } catch (Exception e) {
                        // TODO: handle exception
                    }

                }
                
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

    }
/******** 生成并发送请求数据 ***************************************************/
    public static void sendRequest(OutputStream out, String params) throws Exception {
        out.write(params.getBytes());
        out.flush();
        System.out.println("AbsClient我发送到服务端去》》》" + params);
    }
 可以用socket.getOutputStream() 获取输出流

原文链接:http://www.apkbus.com/blog-508687-62965.html

点击查看更多内容
TA 点赞

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

评论

作者其他优质文章

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

100积分直接送

付费专栏免费学

大额优惠券免费领

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

举报

0/150
提交
取消