Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Telnet chat server

Name: Anonymous 2011-02-16 17:39

telnet 98.255.132.66 9099

Come join the fun!

Name: Anonymous 2011-02-17 10:06


I have better idea. Reimplement chatserver in fictional language of your choice.


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)
        }
    }
}


My non-existent language > go.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List