
package cn.endv.tianyun.tcp;import androID.util.Log;import org.greenrobot.eventbus.EventBus;import java.io.IOException;import java.io.inputStream;import java.io.PrintWriter;import java.net.socket;public class TcpClIEnt { public static Socket socket; public static voID startClIEnt(final String address ,final int port){ if (address == null){ return; } if (socket == null) { new Thread(new Runnable() { @OverrIDe public voID run() { try { Log.i("tcp", "启动客户端"); socket = new Socket(address, port); Log.i("tcp", "客户端连接成功"); PrintWriter pw = new PrintWriter(socket.getoutputStream()); inputStream inputStream = socket.getinputStream(); byte[] buffer = new byte[1024]; int len = -1; while ((len = inputStream.read(buffer)) != -1) { String data = new String(buffer, 0, len); Log.i("tcp", "收到服务器的数据---------------------------------------------:" + data); EventBus.getDefault().post(new MessageClIEnt(data)); } Log.i("tcp", "客户端断开连接"); pw.close(); } catch (Exception EE) { EE.printstacktrace(); Log.i("tcp", "客户端无法连接服务器"); }finally { try { socket.close(); } catch (IOException e) { e.printstacktrace(); } socket = null; } } }).start(); } } public static voID sendTcpMessage(final String msg){ if (socket == null ) { TcpClIEnt.startClIEnt( "192.168.0.11" , 9002); Log.i("tcp", "重启动客户端"); }// if (socket == null && !socket.isConnected()) {// TcpClIEnt.startClIEnt( "192.168.0.11" , 9002);// Log.i("tcp", "重启动客户端");// } if (socket != null && socket.isConnected()) { new Thread(new Runnable() { @OverrIDe public voID run() { try { socket.getoutputStream().write(msg.getBytes()); socket.getoutputStream().flush(); } catch (IOException e) { e.printstacktrace(); } } }).start(); } }}总结
以上是内存溢出为你收集整理的EventBus tcp for android全部内容,希望文章能够帮你解决EventBus tcp for android所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)