Unicode C
Unicode C
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 Unicode C Downloads
#include <C_CkSocketW.h>
void ChilkatSample(void)
{
BOOL success;
HCkSocketW listenSocket;
HCkSocketW connectedSocket;
success = FALSE;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
listenSocket = CkSocketW_Create();
// 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.
success = CkSocketW_BindAndListen(listenSocket,5555,25);
if (success == FALSE) {
wprintf(L"%s\n",CkSocketW_lastErrorText(listenSocket));
CkSocketW_Dispose(listenSocket);
return;
}
// Get the next incoming connection
// Wait a maximum of 20 seconds (20000 millisec)
connectedSocket = CkSocketW_Create();
success = CkSocketW_AcceptNext(listenSocket,20000,connectedSocket);
if (success == FALSE) {
wprintf(L"%s\n",CkSocketW_lastErrorText(listenSocket));
CkSocketW_Dispose(listenSocket);
CkSocketW_Dispose(connectedSocket);
return;
}
// Set maximum timeouts for reading an writing (in millisec)
CkSocketW_putMaxReadIdleMs(connectedSocket,10000);
CkSocketW_putMaxSendIdleMs(connectedSocket,10000);
// Send a "Hello World!" message to the client:
success = CkSocketW_SendString(connectedSocket,L"Hello World!");
if (success != TRUE) {
wprintf(L"%s\n",CkSocketW_lastErrorText(connectedSocket));
CkSocketW_Dispose(listenSocket);
CkSocketW_Dispose(connectedSocket);
return;
}
// Close the connection with the client.
// Wait a max of 20 seconds (20000 millsec)
success = CkSocketW_Close(connectedSocket,20000);
wprintf(L"success!\n");
CkSocketW_Dispose(listenSocket);
CkSocketW_Dispose(connectedSocket);
}