0

このコードは、tcp を介して c# サーバーから複数の画像 (ビデオ) を受信して​​おり、正常に動作しています。入力ストリーム。

    private Runnable connectSocket=new Runnable() {

        @Override
        public void run() {

            { 

                        try { 
                                        socket = new Socket(serverAddr, 4444);
                            DataInputStream dis;
                            try { 


                                dis=new DataInputStream(socket.getInputStream());

                                int bytesRead;
                                byte[] pic = new byte[5000*1024];
                                bytesRead = dis.read(pic, 0, pic.length);
                                 bitmapimage = BitmapFactory.decodeByteArray(pic, 0, bytesRead);              


                            } catch(Exception e) { 
                                Log.e("TCP", "S: Error", e); 
                            } finally { 
                                socket.close(); 
                            } 

                        } catch (UnknownHostException e) { 
                            // TODO Auto-generated catch block 
                            Log.e("TCP", "C: UnknownHostException", e); 
                            e.printStackTrace(); 
                        } catch (IOException e) { 
                            // TODO Auto-generated catch block 
                            Log.e("TCP", "C: IOException", e); 
                            e.printStackTrace(); 
                        }
                        imgview.setImageBitmap(bitmapimage);
                        imgview.invalidate();


    }
             mHandler.postDelayed(this, 0); 
        } 
    };


    }
4

1 に答える 1

0

画像ごとに送信するのはあまり良い方法ではありません。圧縮ビデオ形式の使用を検討してください。

また、あなたは本当に速くすることはできません。それはすべて、2Gのネットワークデバイスがwifi / 3Gよりも常に遅くなることに依存します.

于 2013-05-11T15:06:20.320 に答える