Как отправить изображение с сервера веб-сокетов Java для использования на холсте HTML5?
У меня есть сервер WebSocket, реализованный на Java. Когда клиент подключается, я хочу отправить изображение по этому соединению для использования клиентом в элементе canvas. Я придумал следующий код сервера:
public void onOpen(Connection connection) {
try {
BufferedImage image = ImageIO.read(new File("image.jpg"));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(image, "jpg", baos);
byte[] byteArray = baos.toByteArray();
connection.sendMessage(byteArray, 0, byteArray.length);
} catch (Exception e ){
System.out.println("Error: "+e.getMessage());
}
}
Javascript на стороне клиента выглядит так:
onmessage : function(m) {
if (m.data) {
if (m.data instanceof Blob) {
var blob = m.data;
var bytes = new Uint8Array(blob);
var image = context.createImageData(canvas.width, canvas.height);
for (var i=0; i