@program lib-MMC.muf 1 10000 d i $include $lib/alynna $def mysockopen nbsockopen "Invalid host." over strcmp if pop 1 5 1 for 5 = if "timed out" break then dup sockcheck if "noerr" break then 1 sleep repeat then $def MMFLAGREADY 0 : qpush[ dbref:target str:url -- bool:sent ] var targetip var targetport var socket var sockstat MMFLAGREADY if target @ "MULTIMEDIA" flag? not if 0 exit then then target @ descrleastidle descripnum targetip ! target @ "_prefs/mmport" getprop toint dup not if pop 8472 then targetport ! targetip @ targetport @ mysockopen sockstat ! socket ! sockstat @ "noerr" smatch if 0 sleep socket @ sockrecv pop 0 sleep socket @ { "PUSH " url @ }cat socksend pop 0 sleep socket @ sockrecv pop 1 sleep socket @ sockclose pop 1 else 0 then ; PUBLIC qpush $libdef qpush : qstrm[ dbref:target str:url -- bool:sent ] var targetip var targetport var socket var sockstat MMFLAGREADY if target @ "MULTIMEDIA" flag? not if 0 exit then then target @ descrleastidle descripnum targetip ! target @ "_prefs/mmport" getprop toint dup not if pop 8472 then targetport ! targetip @ targetport @ mysockopen sockstat ! socket ! sockstat @ "noerr" smatch if 0 sleep socket @ sockrecv pop 0 sleep socket @ { "PUSH " url @ }cat socksend pop 0 sleep socket @ sockrecv pop 1 sleep socket @ sockclose pop 1 else 0 then ; PUBLIC qstrm $libdef qstrm . c q @reg lib-mmc=lib/mmc