PureBasic
PureBasic
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 PureBasic Downloads
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
; 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::ckBindAndListen(listenSocket,5555,25)
If success = 0
Debug CkSocket::ckLastErrorText(listenSocket)
CkSocket::ckDispose(listenSocket)
ProcedureReturn
EndIf
; Get the next incoming connection
; Wait a maximum of 20 seconds (20000 millisec)
connectedSocket.i = CkSocket::ckCreate()
If connectedSocket.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkSocket::ckAcceptNext(listenSocket,20000,connectedSocket)
If success = 0
Debug CkSocket::ckLastErrorText(listenSocket)
CkSocket::ckDispose(listenSocket)
CkSocket::ckDispose(connectedSocket)
ProcedureReturn
EndIf
; Set maximum timeouts for reading an writing (in millisec)
CkSocket::setCkMaxReadIdleMs(connectedSocket, 10000)
CkSocket::setCkMaxSendIdleMs(connectedSocket, 10000)
; Send a "Hello World!" message to the client:
success = CkSocket::ckSendString(connectedSocket,"Hello World!")
If success <> 1
Debug CkSocket::ckLastErrorText(connectedSocket)
CkSocket::ckDispose(listenSocket)
CkSocket::ckDispose(connectedSocket)
ProcedureReturn
EndIf
; Close the connection with the client.
; Wait a max of 20 seconds (20000 millsec)
success = CkSocket::ckClose(connectedSocket,20000)
Debug "success!"
CkSocket::ckDispose(listenSocket)
CkSocket::ckDispose(connectedSocket)
ProcedureReturn
EndProcedure