android socket 传输图片,android socket 从客户端到服务器传图片的奇葩现象,求大神指导下解决方法...

本文探讨了一位开发者在使用Android客户端通过Socket向服务器传输图片时遇到的奇怪现象。客户端代码中,图片被转换为字节数组并发送,但服务器端可能无法正确接收和解析。问题可能涉及数据流处理、图片编码格式或网络连接稳定性。寻求大神指导以解决此Android Socket通信问题。
摘要由CSDN通过智能技术生成

当前位置:我的异常网» Android » android socket 从客户端到服务器传图片的奇葩现象

android socket 从客户端到服务器传图片的奇葩现象,求大神指导下解决方法

www.myexceptions.net  网友分享于:2015-08-26  浏览:154次

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

文章评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值