zoukankan      html  css  js  c++  java
  • 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));

              }
          });

    效果图:

  • 相关阅读:
    asyncio异步IO--协程(Coroutine)与任务(Task)详解
    python爬虫实战:利用scrapy,短短50行代码下载整站短视频
    深入理解Git的实现原理
    Upsource 代码审查工具安装及使用
    MAC MAMP集成环境安装 PHP 扩展
    千万数据量数据表分表实践
    设计模式:序言
    设计模式 行为型
    PHP5底层原理之变量
    PHP5底层原理之垃圾回收机制
  • 原文地址:https://www.cnblogs.com/pokerface/p/6228916.html
Copyright © 2011-2022 走看看