logo

const class

wisp::WispService

sys::Obj
  sys::Thread
    web::WebService
      wisp::WispService
  1  //
  2  // Copyright (c) 2007, Brian Frank and Andy Frank
  3  // Licensed under the Academic Free License version 3.0
  4  //
  5  // History:
  6  //   21 Dec 07  Brian Frank  Creation
  7  //
  8  
  9  using web
 10  using inet
 11  
 12  **
 13  ** Wisp implementation of WebService.
 14  **
 15  const class WispService : WebService
 16  {
 17  
 18    **
 19    ** Well known TCP port for HTTP traffic.
 20    **
 21    const Int port := 80
 22  
 23    **
 24    ** Constructor with thread name.
 25    **
 26    new make(Str name := null) : super.make(name) {}
 27  
 28    **
 29    ** Main loop.
 30    **
 31    override Obj run()
 32    {
 33      listener := TcpListener.make
 34      listener.bind(null, port)
 35      log.info("WispService started on port ${port}")
 36      while (true)
 37      {
 38        socket := listener.accept
 39        WispThread.make(this, socket).start
 40      }
 41      return null
 42    }
 43  
 44    static const Log log := Log.get("web")
 45  }

More Info

Slots