如何使用ServerSocket服务发送和接收图像?

时间:2017-11-01 12:18:17

标签: android service serversocket

我正在尝试发送和接收图像以使用服务器套接字在ImageView中显示,我想使用服务器套接字解密图像,但它无法正常工作。

图片网址如下:

http://localhost:4545/sdcard0/emulated/test.img;

服务:

public class ImageDecrptService extends Service {

    private ServerSocket serverSocket;
    private Socket socket;

    void acceptRequestNDecryptFile() {
        try {
            try {
                serverSocket = new ServerSocket(4545);
            } catch (Exception e) {
            }

            while (true) {
                Log.e("", "thread called true");
                socket = serverSocket.accept();
                //some thing code
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                serverSocket.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }

    Thread thread = new Thread(new Runnable() {
        @Override
        public void run() {
            try {
                acceptRequestNDecryptFile();
                Log.e("", "thread called ");
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });

    @Override
    public void onCreate() {
        super.onCreate();
        try {
            thread.start();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        return START_STICKY;
    }

}

如何将图片网址传递到服务器套接字?

注意:我不想使用Bitmap来显示图像。

1 个答案:

答案 0 :(得分:0)

如果你在网络服务器上有一个图像的http网址,那么你需要一个客户端来抓取图像。

所以你的ServerSocket是没用的。

客户端套接字也不是正确的方法。

您需要使用http组件或库来下载图像。

或者调用DownloadManager。