Sample code for 30+ languages & platforms
Tcl

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