Я не очень хорош в Java, и мне нужно отправить BufferedImage через сокет TCP. Мне уже удалось установить соединение (и отправить строки), но я не мог точно узнать, какой Writer я должен использовать для отправки и восстановления BufferedImage.Java - перенос BufferedImage через TCP Socket
ответ
Смотрите ImageIO
class, который содержит методы для reading и писать BufferedImage
с и RenderedImage
S в/из различных входных/выходных потоков.
Вы должны ImageIO.write
для сериализации изображения в виде байтового потока с использованием некоторого формата (PNG, JPG и т. Д.).
Затем вы должны отправить поток байтов по проводу. Трудность здесь в том, что вы не знаете размер потока вперед. Простым решением является сохранение всего содержимого в массив байтов в памяти (используйте ByteArrayOutputStream для него), а затем отправьте его. Или, если он не вписывается в память, вы должны сделать что-то умное (сохранить его во временный файл или использовать какой-то фрагментированный протокол или отправить уникальный знак терминатора).
Пример кода будет gr8 – Arin
@Arin Очень много вариантов, как это можно реализовать ... Таким образом, трудно найти окончательный образец. В большинстве ситуаций лучше не использовать raw TCP, а использовать, например, HTTP: http://stackoverflow.com/questions/2438375/how-to-convert-bufferedimage-to-image-to-display-on-jsp – kan
@Arin Вот пример с памятью в памяти: http://stackoverflow.com/a/4944536/438742 – kan
- 1. Связь Java TCP через Socket
- 2. Java TCP Socket Sniffing
- 3. Java: Перенос файла по TCP
- 4. Java socket TCP teardown
- 5. Java TCP socket listener
- 6. Java: Отправить BufferedImage через Socket с низким битом
- 7. Java TCP Socket ждет простоя?
- 8. Отправить/получить байт [] через TCP Socket
- 9. TCP Communication + Java Socket + ReadTimeoutException
- 10. TCP NTP Java Socket Program
- 11. Отправка BufferedImage через сервер другому java-клиенту
- 12. Java TCP Socket - отправить команду контроллеру
- 13. Безопасная передача пароля через TCP Socket в Java
- 14. Могу ли я отправить @entity через TCP java socket?
- 15. Передача байта [] через TCP Socket in android
- 16. Android-Send/Receive byte [] через TCP Socket
- 17. Закрыть PHP TCP Socket через 5 секунд
- 18. Socket connect() всегда успешно (TCP через ActiveSync)
- 19. Отправить tuple через tcp socket в Erlang
- 20. Netty TCP Socket Overhead
- 21. TCP Socket Testing
- 22. Отправка изображения через сокет TCP в Java
- 23. TCP Socket Close and Rebind
- 24. Исключение Tcp/IP Socket
- 25. TCP socket communication
- 26. Java Socket/TCP и/dev/urandom
- 27. Java Socket: Контрольная сумма TCP Checksum Неверная
- 28. Программирование Java Socket с TCP не работает
- 29. TCP Socket Hangs при получении в Java
- 30. Java tcp socket не получает должным образом
Возможный дубликат [Отправка скриншота (bufferedImage) через сокет в java] (http://stackoverflow.com/questions/6973848/sending-a-screenshot-bufferedimage-over-a-socket-in-java) – Kiril
Я не нашел этого во время поиска, спасибо! –