• android之TCP客户端框架


    一、程序框架

      1.1 创建方法

        onCreate

          1.1.1 创建连接按键线程,并使能线程(触发原因:可按键、其他操作,并进行状态判断):

            Connect_Thread connect_Thread = new Connect_Thread();

            connect_Thread.start();

          1.1.2 关闭连接按键线程,并复位(触发原因:可按键、其他操作,并进行状态判断):

            socket.close();

            socket=null;

          1.1.3 发送给服务器数据(触发原因:可按键、其他操作):

            outputStream = socket.getOutputStream();

            outputStream.write(MsgEditText.getText().toString().getBytes());

      1.2 连接线程

        class Connect_Thread extends Thread

        1.2.1 run方法

          1.2.1.1 如果socket为null,即没连接过

              InetAddress ipAddress = InetAddress.getByName(IPEditText.getText().toString());//这里获取IP是通过EditText,也可以其他赋值给InetAddress

              int port =Integer.valueOf(PortText.getText().toString());//这里获取端口号是通过EditText,也可以其他赋值给InetAddress

              socket = new Socket(ipAddress, port);//创建连接地址和端口

          1.2.1.2 在创建完连接后启动接收线程

                Receive_Thread receive_Thread = new Receive_Thread();

                receive_Thread.start();

      1.3 读取线程

        class Receive_Thread extends Thread

        1.3.1 run方法

          死循环一直读取

          final byte[] buffer = new byte[1024];//创建接收缓冲区

           inputStream = socket.getInputStream();

          final int len = inputStream.read(buffer);//数据读出来,并且返回数据的长度

          runOnUiThread(new Runnable() {

            @Override

            public void run() {

            RrceiveEditText.setText(new String(buffer,0,len));

              }
          });

    效果图:

  • 相关阅读:
    使用Python从Workflowy同步大纲到印象笔记
    使用Jenkins自动部署博客
    使用有限状态机原理实现英文分词
    TeamFlowy——结合Teambition与Workflowy提高生产力
    技巧收集-M1709
    Tenacity——Exception Retry 从此无比简单
    记住 Python 变量类型的三种方式
    Python 装饰器装饰类中的方法
    技巧收集-W1701
    DotnetSpider爬虫简单示例 net core
  • 原文地址:https://www.cnblogs.com/pokerface/p/6228916.html
Copyright © 2020-2023  润新知