Я пытаюсь быстро передавать изображения между телефоном Android и ПК через Wi-Fi.Я написал код, чтобы сделать это, но он может за 4-5 секунд передать одно изображение размером 640x480 пикселей.Мне интересно, мой метод имеет недостатки и есть ли более быстрый способ сделать это?
Вот код сервера
void main(String[] args)
{
try {
ServerSocket serverSocket = new ServerSocket(5555);
Socket clientSocket = serverSocket.accept();
long startTime = System.currentTimeMillis();
InputStream clientInputStream = clientSocket.getInputStream();
BufferedImage BI = ImageIO.read(clientInputStream);
long endTime = System.currentTimeMillis();
ImageIO.write(BI,"png",new File("test.png"));
System.out.println((endTime - startTime) + " ms.");
} catch (IOException e)
{
e.printStackTrace();
}
}
}
Вот код клиента Android
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Bitmap imageToSend = BitmapFactory.decodeResource(this.getResources(),R.drawable.img);
try
{
Socket socket = new Socket("192.168.1.1",5555);
imageToSend.compress(CompressFormat.PNG,0 , socket.getOutputStream());
}
catch (Exception e) {
e.printStackTrace();
}
}
Спасибо за любую помощь, которую вы можете оказать.