Android socket连接 并接受消息发送消息 处理返回消息

  private Myhandler myhandler = new Myhandler(this);

    private SocketConnectorThread connectorThread;

    private SZdialogadpter sZdialogadpter;

    Button connect;
    TextView text;

    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.connect:

                sZdialogadpter = new SZdialogadpter(MainActivity.this);
                sZdialogadpter.setConnectLister(new SZdialogadpter.ConnectLister() {
                    @Override
                    public void connect(String IP, int Post) {
                        socketinit(IP, Post);
                        sZdialogadpter.dismiss();
                    }
                });
                sZdialogadpter.show();

                break;
        }
    }

    class Myhandler extends Handler {

        private WeakReference<MainActivity> weekActivity;
        private byte[] bytes;

        public Myhandler(MainActivity mainActivity) {
            this.weekActivity = new WeakReference<>(mainActivity);
        }


        @Override
        public void handleMessage(@NonNull Message msg) {
            switch (msg.what) {
                case 0:  //socket连接失败
                    Log.d("TAGGGGG", "handleMessage: " + "连接失败");
                    Toast.makeText(MainActivity.this, "连接失败", Toast.LENGTH_SHORT).show();
                    break;
                case 1:  //socket连接成功
                    Log.d("TAGGGGG", "handleMessage: " + "连接成功");
                    Toast.makeText(MainActivity.this, "连接成功", Toast.LENGTH_SHORT).show();
                    break;
                case 2:
                    //数据处理 自己业务逻辑
                    bytes = (byte[]) msg.obj;
                    String s="";
                    for (int i = 0; i < bytes.length; i++) {
                        s = s + "" + bytes[i];
                    }
                    text.setText("s");
                    break;
                case 3: //接收消息断开标志
                    Log.d("TAGGGGG", "handleMessage: " + "接收消息断开");
                    break;
                case 4: //发送成功
                    Log.d("TAGGGGG", "handleMessage: " + "发送成功");
                    break;
                case 5: //发送消息断开标志
                    Log.d("TAGGGGG", "handleMessage: " + "发送消息断开");
                    break;
            }
        }
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        connect=findViewById(R.id.connect);
        text=findViewById(R.id.text);
    }

    /**
     * socket连接方法
     * @param IP
     * @param post
     */
    public void socketinit(String IP, int post) {
        connectorThread = new SocketConnectorThread(IP, post, myhandler);
        connectorThread.start();  //开启链接服务器的线程
        Toast.makeText(MainActivity.this, IP + " " + post, Toast.LENGTH_SHORT).show();
    }

Android socket连接硬件 发送和接收消息 这是我从项目里剥离出来的 这里就不展示全部代码 有问题可以私我 附上百度云项目地址 自己去下。。。。

https://pan.baidu.com/s/1r_yvSzAgweLaUb24vJ3_iA
提取码:b50f

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值