Name: Anonymous 2011-02-16 17:39
telnet 98.255.132.66 9099
Come join the fun!
Come join the fun!
using Socket; //socket io
using Thread; //threads are good
using AtomicVector; //each operation locks entire vector
var sock = Socket.listen(Socket.TCP4, 9999);
var clients = AtomicVector[Socket]();
fun broadcast(message, ignore) {
clients.each { |client|
try{
client.send(message + "\n") unless client == ignore
} except { /*NO EXCEPTIONS*/ }
}
println(message);
}
//
// main loop
//
while(true){
var newUser = sock.accept();
clients.add(newUser)
Thread.runLoop {
try{
var input = newUser.readBlocked().stripped()
if input == EOF or input == "/quit"
clients.delete(newUser)
else
broadcast(input, newUser);
} except {
clients.delete(newUser)
}
}
}