android socket 从客户端到服务器传图片的奇葩现象,求大神指导下,该怎么处理
android socket 从客户端到服务器传图片的奇葩现象,求大神指导下
android客户端代码:
public class MainActivity extends Activity {
/**
* Called when the activity is first created.
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button mybtn = (Button) findViewById(R.id.mybtn);
mybtn.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
Socket socket;
try {
socket = new Socket("192.168.1.102", 40000);
DataOutputStream out = new DataOutputStream(socket.getOutputStream());
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
ImageView myview = (ImageView) findViewById(R.id.myview);
myview.setImageBitmap(bitmap);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
//读取图片到ByteArrayOutputStream
bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);
byte[] bytes = baos.toByteArray();
Log.i("Client02:", bytes.length+"");
out.write(bytes);
out.close();
socket.close();
} catch (UnknownHostException ex) {
Log.i("Client02:", "192.168.1.102 is unknow host!!");
} catch (IOException ex) {
Log.i("Client02:", "socket create failure!!!!userperssion。。。");
}
}
});
}
android服务器端代码:
public class Server02 implements Runnable {
@Override
public void run() {
try {
ServerSocket server = new ServerSocket(40000);
System.out.println("Server02 is ready to receive.....");
Socket socket = server.accept();
//通过输入流获取图片数据
DataInputStream dis = new DataInputStream(socket.getInputStream());
int len = dis.available();
android客户端代码:
public class MainActivity extends Activity {
/**
* Called when the activity is first created.
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button mybtn = (Button) findViewById(R.id.mybtn);
mybtn.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
Socket socket;
try {
socket = new Socket("192.168.1.102", 40000);
DataOutputStream out = new DataOutputStream(socket.getOutputStream());
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
ImageView myview = (ImageView) findViewById(R.id.myview);
myview.setImageBitmap(bitmap);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
//读取图片到ByteArrayOutputStream
bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);
byte[] bytes = baos.toByteArray();
Log.i("Client02:", bytes.length+"");
out.write(bytes);
out.close();
socket.close();
} catch (UnknownHostException ex) {
Log.i("Client02:", "192.168.1.102 is unknow host!!");
} catch (IOException ex) {
Log.i("Client02:", "socket create failure!!!!userperssion。。。");
}
}
});
}
android服务器端代码:
public class Server02 implements Runnable {
@Override
public void run() {
try {
ServerSocket server = new ServerSocket(40000);
System.out.println("Server02 is ready to receive.....");
Socket socket = server.accept();
//通过输入流获取图片数据
DataInputStream dis = new DataInputStream(socket.getInputStream());
int len = dis.available();