标签:android blog io ar 使用 java for 数据 on
客户端
/******************** Client **************************/ public void startSocket() { new Thread(new initSocket()).start(); } private Socket sendClient = null; private OutputStream sendOutStream = null; private boolean bSendisc = false; class initSocket implements Runnable { @Override public void run() { try { sendClient = new Socket(); InetSocketAddress isa = new InetSocketAddress("127.0.0.1".replace("/", ""), 8088); sendClient.connect(isa, 2000); sendClient.setSendBufferSize(500000); sendClient.setReceiveBufferSize(500000); sendClient.setPerformancePreferences(0, 0, 1); bSendisc = sendClient.isConnected(); sendClient.setTcpNoDelay(true); sendClient.setKeepAlive(true); sendOutStream = sendClient.getOutputStream(); } catch (IOException e) { e.printStackTrace(); } } } //建立连接后,采用OutputStream进行数据的发送 sendOutStream.write(data); //byte流数据
注意:Android中,socket的连接操作不能在主线程里面进行,必须开启新的线程;
/******************** Server **************************/ public void startListen() { new Thread(this).start(); } private final int PORT = 8088; private ServerSocket server; public void run() { //创建TCP Server 接收视频流 Socket client; DataInputStream is = null; try { server = new ServerSocket(PORT); client = server.accept(); client.setReceiveBufferSize(500000); client.setSendBufferSize(500000); client.setTcpNoDelay(true); client.setPerformancePreferences(0, 0, 1); is = new DataInputStream(client.getInputStream()); } catch (IOException e) { e.printStackTrace(); } //建立连接后开始进行读取 byte[] data = new byte[1000]; int length = is.read(data); //读取socket中数据,保存到data中,返回读取的长度 }
标签:android blog io ar 使用 java for 数据 on
原文地址:http://blog.csdn.net/tanmengwen/article/details/41412309