/ / Как да заснемате малки промени в платното и да ги изпращате до всички потребители, свързани помежду си, които също използват това платно? - html5, node.js, платно, websocket, socket.io

Как да заснемате малки промени в платното и да ги изпращате до всички потребители, свързани помежду си, които също използват това платно? - html5, node.js, платно, websocket, socket.io

Искам да позволя на хората да комуникират чрез html5 платно. Ако един човек черпи от платното си, другият трябва да може да го види едновременно и обратно.

Използвам node.js като сървър с експресна рамка и socket.io.

Има методи като .toDataURL и друг метод е да го конвертирате в blob и след това да го изпратите. Но тези методи преобразуват цялото платно в изображение и след това го изпращат чрез websockets.

Има ли ефективен начин, чрез който мога само да изпратя новите създадени данни или направените промени в платното, вместо да създавам изображение и след това отново да го изпратя отново на всички потребители?

По-добре ли е да запазите пистата на пикселите?

Отговори:

2 за отговор № 1

"методите преобразуват цялото изображение в изображение" - вместо да изпращате изображенията от платно (изображение), трябва да изпратите потребителски взаимодействия.

Правилният начин да продължите напред е да запишете първо(кликнете, плъзнете и т.н.), да ги сериализирате и след това да ги изпратите на други потребители, които споделят това платно. Приемниците трябва да възпроизведат получените действия на платното си, за да дадат ефект на споделеното платно.

Може да намерите това полезно: http://ramkulkarni.com/blog/deserializing-recordings-in-recordable-html5-canvas/