Sample code for 30+ languages & platforms
Tcl Requires Chilkat v11.0.0+

Accept Connection on Socket

See more Socket/SSL/TLS Examples

Demonstrates how to create a TCP/IP socket, listen on a port, accept an incoming connection, and send a "Hello World" message to the client.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

#  This example requires the Chilkat API to have been previously unlocked.
#  See Global Unlock Sample for sample code.

set listenSocket [new_CkSocket]

#  Bind to a port and listen for incoming connections:
#  This example will listen at port 5555 and allows for a backlog
#  of 25 pending connection requests.
set success [CkSocket_BindAndListen $listenSocket 5555 25]
if {$success == 0} then {
    puts [CkSocket_lastErrorText $listenSocket]
    delete_CkSocket $listenSocket
    exit
}

#  Get the next incoming connection
#  Wait a maximum of 20 seconds (20000 millisec)
set connectedSocket [new_CkSocket]

set success [CkSocket_AcceptNext $listenSocket 20000 $connectedSocket]
if {$success == 0} then {
    puts [CkSocket_lastErrorText $listenSocket]
    delete_CkSocket $listenSocket
    delete_CkSocket $connectedSocket
    exit
}

#  Set maximum timeouts for reading an writing (in millisec)
CkSocket_put_MaxReadIdleMs $connectedSocket 10000
CkSocket_put_MaxSendIdleMs $connectedSocket 10000

#  Send a "Hello World!" message to the client:
set success [CkSocket_SendString $connectedSocket "Hello World!"]
if {$success != 1} then {
    puts [CkSocket_lastErrorText $connectedSocket]
    delete_CkSocket $listenSocket
    delete_CkSocket $connectedSocket
    exit
}

#  Close the connection with the client.
#  Wait a max of 20 seconds (20000 millsec)
set success [CkSocket_Close $connectedSocket 20000]

puts "success!"

delete_CkSocket $listenSocket
delete_CkSocket $connectedSocket