49 lines
1.4 KiB
Lua
49 lines
1.4 KiB
Lua
-- Loading sock from root directory relative to this one
|
|
-- This is not required in your own projects
|
|
package.path = package.path .. ";../../?.lua"
|
|
local sock = require "sock"
|
|
local bitser = require "spec.bitser"
|
|
|
|
function love.load()
|
|
client = sock.newClient("localhost", 22122)
|
|
server = sock.newServer("*", 22122)
|
|
client:setSerialization(bitser.dumps, bitser.loads)
|
|
server:setSerialization(bitser.dumps, bitser.loads)
|
|
client:enableCompression()
|
|
server:enableCompression()
|
|
|
|
client:connect()
|
|
|
|
client:on("image", function(data)
|
|
local file = love.filesystem.newFileData(data, "")
|
|
receivedImage = love.image.newImageData(file)
|
|
receivedImage = love.graphics.newImage(receivedImage)
|
|
end)
|
|
|
|
server:on("connect", function(data, client)
|
|
local image = love.filesystem.newFileData("hello.png")
|
|
server:sendToAll("image", image)
|
|
end)
|
|
|
|
lastModified = 0
|
|
end
|
|
|
|
function love.update(dt)
|
|
server:update()
|
|
client:update()
|
|
|
|
if lastModified < love.filesystem.getLastModified("hello.png") then
|
|
-- Sleep for some milliseconds for the image to write to disk
|
|
love.timer.sleep(0.2)
|
|
lastModified = love.filesystem.getLastModified("hello.png")
|
|
local image = love.filesystem.newFileData("hello.png")
|
|
server:sendToAll("image", image)
|
|
end
|
|
end
|
|
|
|
function love.draw()
|
|
if receivedImage then
|
|
love.graphics.draw(receivedImage, 100, 100)
|
|
end
|
|
end
|