0

PC から Android スマートフォンにファイルを送信するアプリケーションを作成する必要があります。PC 側では、C# プログラムを使用してファイルを読み取り、ストリーム ソケット経由で送信しています。Android 側では、ファイルをストリームとして受信するプログラムを作成する必要があります。誰でも私を助けたり、簡単なステップバイステップのストリームソケットアプリケーションを提供したりできます。

4

1 に答える 1

0

以前はこれを使用して、IOS と Mac からソケット経由で送信されたストリームを読み取っていたので、あなたにも役立つはずです。

        ServerSocket serverSocket = null;
        Socket client = null;
        try {
            serverSocket = new ServerSocket(5000); // port number which the server will use to send the stream
            Log.d("","CREATE SERVER SOCKET");
        } catch (IOException e) {
             e.printStackTrace();
        }
        try {
            if(serverSocket!=null){
                client = serverSocket.accept();
                client.setKeepAlive(true);
                client.setSoTimeout(10000);
                InputStream is = client.getInputStream();

                Log.w("READ","is Size : "+is.available());

                byte[] bytes = DNSUtils.readBytes(is);

            }
        } catch (IOException e) {
                e.printStackTrace();
        }

これは、送信されたバイトを実際に読み取る方法です。

  public static byte[] readBytes(InputStream inputStream) throws IOException {
     // this dynamically extends to take the bytes you read
     ByteArrayOutputStream byteBuffer = new ByteArrayOutputStream();

     // this is storage overwritten on each iteration with bytes
     int bufferSize = 1024;
     byte[] buffer = new byte[bufferSize];

     // we need to know how may bytes were read to write them to the byteBuffer
     int len = 0;
     while ((len = inputStream.read(buffer)) != -1) {
       byteBuffer.write(buffer, 0, len);
     }

     // and then we can return your byte array.
     return byteBuffer.toByteArray();
 }

それがあなたにとってもうまくいくことを願っています。

于 2013-01-05T12:05:15.990 に答える