Sample code for 30+ languages & platforms
PureBasic

Bind and Listen on a Randomly Selected Unused Port

See more Socket/SSL/TLS Examples

Demonstrates how to bind and listen on a randomly selected unused port.

Note:The ListenPort property used in this example is available starting in Chilkat v9.5.0.59.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkSocket.pb"

Procedure ChilkatExample()

    success.i = 0

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

    listenSocket.i = CkSocket::ckCreate()
    If listenSocket.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    ; Pass a value of 0 for the port number to randomly select
    ; an unused port.
    ; (The 2nd argument allows for a backlog of 25 pending connection requests when accepting connections.)
    success = CkSocket::ckBindAndListen(listenSocket,5555,25)
    If success <> 1
        Debug CkSocket::ckLastErrorText(listenSocket)
        CkSocket::ckDispose(listenSocket)
        ProcedureReturn
    EndIf

    ; Find out what port was chosen.
    ; Note: The ListenPort propety was added in Chilkat v9.5.0.59
    listenPort.i = CkSocket::ckListenPort(listenSocket)
    Debug "Chosen listen port = " + Str(listenPort)


    CkSocket::ckDispose(listenSocket)


    ProcedureReturn
EndProcedure