服务端接收android端多张图片,(转)Android 客户端与PC服务端socket通信接收与发送图片...

public voidOpenTCP() {

System.out.println("***startTCP***" + Ip + ":" +tcpPort);

tcpsendData= "1";try{

tcpSocket= newSocket(Ip, Integer.parseInt(tcpPort));//tcpSocket.setSoTimeout(1000);

} catch(Exception ex) {

Log.e("TCP连接错误:", "TCP连接错误");

Log.e("TCP连接错误:", ex.toString());

ex.printStackTrace();

}if (tcpSocket != null) {newThread(TcpReceiver).start();

}

}

Runnable TcpReceiver= newRunnable() {

@Overridepublic voidrun() {byte[] buffer0=null;byte[] buffer=null;

System.out.println("***startTCP---tcpPort***" +tcpPort);while (true) {try{//tcpSocket = new Socket(Ip, Integer.parseInt(tcpPort));//接收数据

buffer0 = new byte[10];

InputStream inputStream0=tcpSocket.getInputStream();

DataInputStream input0= newDataInputStream(inputStream0);int length0 =input0.read(buffer0);if (length0 <10) {//发送数据

OutputStream OutStream=tcpSocket.getOutputStream();

OutStream.write("1".getBytes());

OutStream.flush();String lengthMsg= new String(buffer0, 0, length0, "gb2312");

Log.e("lengthMsg:", "" +lengthMsg);int size =Integer.parseInt(lengthMsg);

buffer= new byte[size];int len = 0;int offset=0;while (len

offset=size-len;if(offset>=1024*5){

offset=1024*5;

}

len+=input0.read(buffer, len, offset);//System.out.println("***len***" + len);

}

System.out.println("***buffer.length***" +buffer.length);

final Bitmap bitmap= BitmapFactory.decodeByteArray(buffer, 0, buffer.length);

runOnUiThread(newRunnable() {

@Overridepublic voidrun() {

image.setImageBitmap(bitmap);

}

});//if (!bitmap.isRecycled()) {//bitmap.recycle();//}

} else{continue;

}//tcpSocket.close();

}catch(IOException e) {

Log.e("接收错误:", e.toString());

runOnUiThread(newRunnable() {

@Overridepublic voidrun() {

Toast.makeText(MainActivity_tcp.this, "网络接收断开", Toast.LENGTH_SHORT).show();

}

});try{

tcpSocket= newSocket(Ip, Integer.parseInt(tcpPort));

}catch(IOException e1) {

e1.printStackTrace();

}

}

}

}

};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值