Sample code for 30+ languages & platforms
Unicode C

Accept the Next Incoming Connection

See more Socket/SSL/TLS Examples

Demonstrates Socket.AcceptNext, which waits for and accepts the next incoming connection on a listening socket, delivering it as a new connected Socket.

Background. A maxWaitMs of 0 waits indefinitely; a positive value waits up to that many milliseconds. For a TLS listener, acceptance includes the server-side TLS handshake.

Chilkat Unicode C Downloads

Unicode C
#include <C_CkSocketW.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkSocketW socket;
    HCkSocketW connectedSock;

    success = FALSE;

    socket = CkSocketW_Create();

    success = CkSocketW_BindAndListen(socket,5000,25);
    if (success == FALSE) {
        wprintf(L"%s\n",CkSocketW_lastErrorText(socket));
        CkSocketW_Dispose(socket);
        return;
    }

    //  Wait for and accept the next incoming connection on the listening socket.  maxWaitMs = 0 waits
    //  indefinitely; a positive value waits up to that many milliseconds.  For a TLS listener, acceptance
    //  includes the server-side TLS handshake.
    connectedSock = CkSocketW_Create();
    success = CkSocketW_AcceptNext(socket,20000,connectedSock);
    if (success == FALSE) {
        wprintf(L"%s\n",CkSocketW_lastErrorText(socket));
        CkSocketW_Dispose(socket);
        CkSocketW_Dispose(connectedSock);
        return;
    }

    wprintf(L"Accepted a connection from %s\n",CkSocketW_remoteIpAddress(connectedSock));


    CkSocketW_Dispose(socket);
    CkSocketW_Dispose(connectedSock);

    }