WSRegisterCallbackFunctionWithLinkServer (C Function)
void WSRegisterCallbackFunctionWithLinkServer(WSLinkServer s, WSNewLinkCallbackFunction f)
registers the callback function f with the link server s.
Details
- WSRegisterCallbackFunctionWithLinkServer() allows a program to 'install' a callback function f with a link server object s, so that when the link server receives an incoming connection, the link server will asynchronously notify the program of the new connection via the callback function.
- The link server object will make callbacks to the callback function f asynchronously so the program must take care to protect access to shared data structures accessible through f from asynchrous access problems.
- If the link server has more than one connection waiting in its connection queue, the link server will call the callback function f one time for each connection in its queue.
Examples
Basic Examples (1)
#include "wstp.h"
void NewLinkCallbackFunction(WSLinkServer server, WSLINK link);
WSLinkServer startLinkServer(WSENV env)
{
WSLinkServer theServer;
int error;
theServer = WSNewLinkServer(env, NULL /* No context object
for this example */, &error);
if(error != WSEOK)
{ /* Handle error */ }
WSRegisterCallbackFunctionWithLinkServer(theServer,
NewLinkCallbackFunction);
return theServer;
}
void NewLinkCallbackFunction(WSLinkServer server, WSLINK link)
{
WSActivate(link);
WSPutFunction(link,"Print",1);
WSPutString(link, "Hello Client Program");
WSEndPacket(link);
WSFlush(link);
...
WSClose(link);
}