一、程序框架

  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));

          }
      });

效果图:

android之TCP客户端框架的更多相关文章

  1. android 之TCP客户端编程

    补充,由于这篇文章是自己入门的时候写的,随着Android系统的升级可能有发送需要在任务 中进行,如有问题请百度 thread 或者看下面链接的文章 https://www.cnblogs.com/y ...

  2. Android之TCP服务器编程

    推荐一个学java或C++的网站http://www.weixueyuan.net/,本来想自己学了总结出来再写博客,现在没时间,打字太慢!!!!,又想让这好东西让许多人知道. 关于网络通信:每一台电 ...

  3. linux epoll机制对TCP 客户端和服务端的监听C代码通用框架实现

    1 TCP简介 tcp是一种基于流的应用层协议,其“可靠的数据传输”实现的原理就是,“拥塞控制”的滑动窗口机制,该机制包含的算法主要有“慢启动”,“拥塞避免”,“快速重传”. 2 TCP socket ...

  4. 24-ESP8266 SDK开发基础入门篇--Android TCP客户端.控制 Wi-Fi输出PWM的占空比,调节LED亮度

    https://www.cnblogs.com/yangfengwu/p/11204436.html 刚才有人说需要点鸡汤.... 我想想哈;我还没问关于哪方面的鸡汤呢!!! 我所一直走的路线 第一: ...

  5. 23-ESP8266 SDK开发基础入门篇--编写Android TCP客户端 , 加入消息处理

    https://www.cnblogs.com/yangfengwu/p/11203546.html 先做接收消息 然后接着 public class MainActivity extends App ...

  6. 艺萌文件上传下载及自动更新系统(基于networkComms开源TCP通信框架)

    1.艺萌文件上传下载及自动更新系统,基于Winform技术,采用CS架构,开发工具为vs2010,.net2.0版本(可以很容易升级为3.5和4.0版本)开发语言c#. 本系统主要帮助客户学习基于TC ...

  7. 无线客户端框架设计(5.1):将JSON映射为实体对象(iOS篇)

    iOS开发人员已经习惯于将JSON转换为字典或者数组来进行操作了,接下来我要做的事情,可能匪夷所思,但是,对WP和Android开发人员而言,他们更倾向于将JSON转换为实体对象进行操作. 我所设计的 ...

  8. Android Small插件化框架解读——Activity注册和生命周期

    通过对嵌入式企鹅圈原创团队成员degao之前发表的<Android Small插件化框架源码分析>的学习,对Android使用的插件化技术有了初步的了解,但还是有很多需要认真学习的地方,特 ...

  9. 基于Retrofit+RxJava的Android分层网络请求框架

    目前已经有不少Android客户端在使用Retrofit+RxJava实现网络请求了,相比于xUtils,Volley等网络访问框架,其具有网络访问效率高(基于OkHttp).内存占用少.代码量小以及 ...

随机推荐

  1. 看雪 安卓 dex文件

    http://bbs.pediy.com/showthread.php?t=177114

  2. 问题:关于一个贴友的js留言板的实现

    需求:用js做一个简单的留言板效果 html部分: 1: <!DOCTYPE> 2: <html lang="zh-en"> 3: <head> ...

  3. HIbernate学习笔记(九) hibernate事务并发处理与乐观悲观锁

    事务并发处理 一. 数据库的隔离级别:并发性作用. 1.   ReadUncommited(未提交读):没有提交就可以读取到数据(发出了Insert,但没有commit就可以读取到.)很少用 2.   ...

  4. SQL中binary 和 varbinary的区别 blob

    binary 和 varbinary固定长度 (binary) 的或可变长度 (varbinary) 的 binary 数据类型. binary [ ( n ) ] 固定长度的 n 个字节二进制数据. ...

  5. 恒天云技术分享系列6 – vLan网络原理解析

    转载自恒天云官网:http://www.hengtianyun.com/download-show-id-15.html Vlan网络模式优点 增加网络可扩展性 网络隔离,每个租户拥有独立的网络及vl ...

  6. 恒天云技术分享系列3 – KVM性能调优

    恒天云技术分享:http://www.hengtianyun.com/download-show-id-11.html KVM是什么 KVM 是 kernel-based Virtual Machin ...

  7. 安装禅道项目管理软件ZenTaoPMS

    服务器Ubuntu 13.04 且安装了上一篇随笔中的 AMP本文略去安装AMP过程.版本号满足要求(php>5.2 and mysql.2) 1.官网http://www.zentao.net ...

  8. android开发中遇到的问题

    7.ExpandableListView setOnChildClickListener无效,请在adapter的方法isChildSelectable返回true即可 6.使用<shape/& ...

  9. zzuoj 10409 10409: D.引水工程

    10409: D.引水工程 Time Limit: 2 Sec  Memory Limit: 128 MBSubmit: 96  Solved: 34[Submit][Status][Web Boar ...

  10. (5)RARP:逆地址解析协议

    一.简介 无盘系统的RARP实现过程是从接口卡上读取唯一的硬件地址,然后发送一份RARP请求(一帧在网络上广播的数据),请求某个主机响应该无盘系统的IP地址(在RARP应答中).感觉这个过程和上一章中 ...