PureBasic
PureBasic
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 PureBasic Downloads
IncludeFile "CkSocket.pb"
Procedure ChilkatExample()
success.i = 0
socket.i = CkSocket::ckCreate()
If socket.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkSocket::ckBindAndListen(socket,5000,25)
If success = 0
Debug CkSocket::ckLastErrorText(socket)
CkSocket::ckDispose(socket)
ProcedureReturn
EndIf
; 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.i = CkSocket::ckCreate()
If connectedSock.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkSocket::ckAcceptNext(socket,20000,connectedSock)
If success = 0
Debug CkSocket::ckLastErrorText(socket)
CkSocket::ckDispose(socket)
CkSocket::ckDispose(connectedSock)
ProcedureReturn
EndIf
Debug "Accepted a connection from " + CkSocket::ckRemoteIpAddress(connectedSock)
CkSocket::ckDispose(socket)
CkSocket::ckDispose(connectedSock)
ProcedureReturn
EndProcedure