It should. Floppies named identically should be exactly the same.
Topic of disknet send, here's how I think it should work:
local id = disknet.open( "top", "chat" )
disknet.send( "Hello", "top", id ) --#note you NEED both "top" and id
To recieve:
local id = disknet.open( "top", "chat" )
local event, side, file, message = disknet.receive()
Test this out and see if it still works. As with rednet, the receiver must be open FIRST.
Edit: I think I found the bug, part of the code had differently named variables by accident. Updated pastebin
Here's the bit that makes the events:
Spoiler
local function checkFile()
while true do
for side, files in pairs( sides ) do
for _, fileName in ipairs( files ) do
local filePath = fs.combine( disk.getMountPath( side ), fileName )
if fs.getFreeSpace( disk.getMountPath( side ) ) < 1000 then
local file = fs.open( filePath, "w" )
file.write( textutils.serialize( {} ) )
file.close()
end
if fs.exists( filePath ) then
local file = fs.open( filePath, "r" )
local data = textutils.unserialize( file.readAll() )
file.close()
local toSend = {}
for k, v in ipairs( data ) do
if oldData[ k ] ~= v then
toSend[ #toSend + 1 ] = v
end
end
if #toSend > 0 then
os.queueEvent( "disknet_message", side, fileName, textutils.serialize( toSend ) )
oldFile[ side ] = data
end
end
end
end
local id = os.startTimer( 0.1 )
while true do
local event, tid = os.pullEvent( "timer" )
if id == tid then
break
end
end
end
end
-snip-
local cocheck = coroutine.create( checkFile )
function os.pullEventRaw( sFilter )
while true do
local event = { coroutine.yield() }
if coroutine.status( cocheck ) == "suspended" then
coroutine.resume( cocheck, unpack( event ) )
end
if event[ 1 ] == sFilter or not sFilter then
return unpack( event )
end
end
end