如何使用套接字将文件从 android java 应用程序传输到 C# windows 应用程序?

弗朗西斯科·泽维尔·瓦斯康塞洛斯

我在 android 上的 java 中构建了一个应用程序,它通过一个套接字发送一个 .jpg 文件的字节,在 Windows 上的 C# 中的一个异步服务器套接字接收字节并将它们写入一个 .jpg 文件。无法打开接收到的文件。

在作为客户端的 java 应用程序中,我使用了在 onCreate 上执行的以下 asynctask 类:

class asyncTask extends AsyncTask<Void,Void,Void>{
    @Override
    protected Void doInBackground(Void... voids) {
        try {

            final File myFile = new File("//sdcard/DCIM/Camera/img1.jpg");
            byte[] bytes = new byte[(int) myFile.length()];

            BufferedInputStream buf = new BufferedInputStream(new FileInputStream(myFile));
            buf.read(bytes, 0, bytes.length);

            s = new Socket(ip,3333);
            OutputStream OS = s.getOutputStream();
            OS.write(bytes, 0, bytes.length);
            OS.flush();
            s.close();

        } catch (IOException e) {
            Log.d("Error",e.toString());
            e.printStackTrace();
        }
        return null;
    }
}

在 C# 应用程序中,我收到了数据并将其保存到以下异步回调方法中的文件中,该方法在接收到数据时调用:

public static void ReadCallback(IAsyncResult ar)
    {
        Socket clientSocket = (Socket)ar.AsyncState;
        int buffLength = clientSocket.EndReceive(ar);
        Array.Resize(ref buffer, buffLength);
        totaLength += buffLength;
        buffer.CopyTo(allData, totaLength - 1);

        if (buffLength == 0)
        {
            Array.Resize(ref allData, totaLength);
            File.WriteAllBytes("C: /Users/fxavi/Desktop/img.jpg", allData);
            Console.WriteLine(totaLength);
        }
        else
            clientSocket.BeginReceive(buffer, 0, buffer.Length, SocketFlags.None, new AsyncCallback(ReadCallback), clientSocket);
    }
弗朗西斯科·泽维尔·瓦斯康塞洛斯

找到这个问题的解决方案后,我感到非常愚蠢。哪个totaLength += buffLength;应该在之前执行,buffer.CopyTo(allData, totaLength);以便将缓冲区复制到正确的索引。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将WPF应用程序传输到移动c#

来自分类Dev

如何将数据从Java桌面/ Swing应用程序发送/传输到Java Web应用程序

来自分类Dev

Netbeans:如何将独立Java应用程序的JAR文件自动传输到远程位置

来自分类Dev

如何使用套接字将Windows C#,Android和浏览器连接到一个数据库。(聊天应用程序)

来自分类Dev

反复将数据从Windows服务传输到控制台应用程序

来自分类Dev

如何将软实时数据从Matlab流传输到C#应用程序?

来自分类Dev

通过wifi将声音从android应用程序流传输到设备

来自分类Dev

将图像系列从Java应用程序管道传输到ffmpeg子进程

来自分类Dev

是否可以将YouTube视频流式传输到C ++应用程序?

来自分类Dev

将SQLite Windows窗体应用程序迁移到通用Windows应用程序(C#)

来自分类Dev

如何使用 Winform C# 应用程序通过 USB 电缆将数据传输到 Hololens 设备?

来自分类Dev

如何在Android中将数据从一个应用程序传输到另一个应用程序

来自分类Dev

如何在Android中将数据从一个应用程序传输到另一个应用程序

来自分类Dev

将Java程序与Android应用程序连接

来自分类Dev

将数据从一页传输到另一个Windows 8 Phone应用程序

来自分类Dev

将特定应用程序的屏幕缓冲区传输到远程系统并从中复制图像(在Windows中)

来自分类Dev

C#Windows应用程序将文本写入文件

来自分类Dev

(C# Windows 窗体应用程序)如何重新启动应用程序

来自分类Dev

我们可以通过简单的USB电缆将android数据传输到桌面应用程序吗?

来自分类Dev

将数据从android应用程序传输到服务器上的数据库的最佳方法是什么?

来自分类Dev

将Java文件添加到Android应用程序

来自分类Dev

如何使用Java制作Windows应用程序?

来自分类Dev

Android应用程序是真正的Java应用程序吗

来自分类Dev

使用Java将MongoDB与Android应用程序连接

来自分类Dev

如何将Windows Phone 8应用程序(通过使用Cordova / PhoneGap完成)转换为Android应用程序

来自分类Dev

如何在Windows上运行Android应用程序?

来自分类Dev

使用NDK将C ++应用程序移植到Android

来自分类Dev

无法将Java应用程序作为Windows服务运行

来自分类Dev

如何使用 Java 以外的语言编写 Android 应用程序

Related 相关文章

  1. 1

    将WPF应用程序传输到移动c#

  2. 2

    如何将数据从Java桌面/ Swing应用程序发送/传输到Java Web应用程序

  3. 3

    Netbeans:如何将独立Java应用程序的JAR文件自动传输到远程位置

  4. 4

    如何使用套接字将Windows C#,Android和浏览器连接到一个数据库。(聊天应用程序)

  5. 5

    反复将数据从Windows服务传输到控制台应用程序

  6. 6

    如何将软实时数据从Matlab流传输到C#应用程序?

  7. 7

    通过wifi将声音从android应用程序流传输到设备

  8. 8

    将图像系列从Java应用程序管道传输到ffmpeg子进程

  9. 9

    是否可以将YouTube视频流式传输到C ++应用程序?

  10. 10

    将SQLite Windows窗体应用程序迁移到通用Windows应用程序(C#)

  11. 11

    如何使用 Winform C# 应用程序通过 USB 电缆将数据传输到 Hololens 设备?

  12. 12

    如何在Android中将数据从一个应用程序传输到另一个应用程序

  13. 13

    如何在Android中将数据从一个应用程序传输到另一个应用程序

  14. 14

    将Java程序与Android应用程序连接

  15. 15

    将数据从一页传输到另一个Windows 8 Phone应用程序

  16. 16

    将特定应用程序的屏幕缓冲区传输到远程系统并从中复制图像(在Windows中)

  17. 17

    C#Windows应用程序将文本写入文件

  18. 18

    (C# Windows 窗体应用程序)如何重新启动应用程序

  19. 19

    我们可以通过简单的USB电缆将android数据传输到桌面应用程序吗?

  20. 20

    将数据从android应用程序传输到服务器上的数据库的最佳方法是什么?

  21. 21

    将Java文件添加到Android应用程序

  22. 22

    如何使用Java制作Windows应用程序?

  23. 23

    Android应用程序是真正的Java应用程序吗

  24. 24

    使用Java将MongoDB与Android应用程序连接

  25. 25

    如何将Windows Phone 8应用程序(通过使用Cordova / PhoneGap完成)转换为Android应用程序

  26. 26

    如何在Windows上运行Android应用程序?

  27. 27

    使用NDK将C ++应用程序移植到Android

  28. 28

    无法将Java应用程序作为Windows服务运行

  29. 29

    如何使用 Java 以外的语言编写 Android 应用程序

热门标签

归档