C
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 C Downloads
#include <C_CkSocket.h>
void ChilkatSample(void)
{
BOOL success;
HCkSocket listenSocket;
HCkSocket connectedSocket;
success = FALSE;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
listenSocket = CkSocket_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 = CkSocket_BindAndListen(listenSocket,5555,25);
if (success == FALSE) {
printf("%s\n",CkSocket_lastErrorText(listenSocket));
CkSocket_Dispose(listenSocket);
return;
}
// Get the next incoming connection
// Wait a maximum of 20 seconds (20000 millisec)
connectedSocket = CkSocket_Create();
success = CkSocket_AcceptNext(listenSocket,20000,connectedSocket);
if (success == FALSE) {
printf("%s\n",CkSocket_lastErrorText(listenSocket));
CkSocket_Dispose(listenSocket);
CkSocket_Dispose(connectedSocket);
return;
}
// Set maximum timeouts for reading an writing (in millisec)
CkSocket_putMaxReadIdleMs(connectedSocket,10000);
CkSocket_putMaxSendIdleMs(connectedSocket,10000);
// Send a "Hello World!" message to the client:
success = CkSocket_SendString(connectedSocket,"Hello World!");
if (success != TRUE) {
printf("%s\n",CkSocket_lastErrorText(connectedSocket));
CkSocket_Dispose(listenSocket);
CkSocket_Dispose(connectedSocket);
return;
}
// Close the connection with the client.
// Wait a max of 20 seconds (20000 millsec)
success = CkSocket_Close(connectedSocket,20000);
printf("success!\n");
CkSocket_Dispose(listenSocket);
CkSocket_Dispose(connectedSocket);
}