Welcome, guest | Sign In | My Account | Store | Cart
#!/usr/local/bin/tcl
# fileevent/socket example

# Change the port to meet requirements.  Read it for example from the
# commandline or a configuration file

socket
-server on_connect 18018

# Procedure called whenever a new connection is made by a client.
proc on_connect
{newsock clientAddress clientPort} {

   
# This is the place to add checks disallowing connections based
   
# upon the hostname/ipaddress of the peer.

    fconfigure $newsock
-blocking 0
    fileevent  $newsock readable
[list handleInput $newsock]
}

# Procedure called whenever input arrives on a connection.
proc handleInput
{f} {
   
# Delete the handler if the input was exhausted.
   
if {[eof $f]} {
        fileevent $f readable
{}
        close     $f
       
return
   
}

   
# Read and handle the incoming information. Here we just log it to
   
# stdout.

    puts
[read $f]
}

History