WSNewLinkCallbackFunction (C 函数)
是一种 WSTP 类型,描述一个函数的指针,该函数以一个 WSLinkServer 对象和一个 WSLINK 对象为参数,并返回 void.
更多信息
- 函数 WSRegisterCallbackFunctionWithLinkServer() 允许程序用一个链接服务器对象“安装”一个回调函数. 当一个程序连接到了这个链接服务器终端,该链接服务器对象会调用上述回调函数. 此 WSLINK 对象可用来与新程序通信.
- WSNewLinkCallbackFunction 有如下形式:
- void function(WSLinkServer s, WSLINK l);
- 若此程序注册了一个回调函数,这个链接服务器会异步处理输入连接. 该回调函数必须采取必要步骤来保护共享数据结构不要被异步访问.
- 为了使用新的 WSLINK 对象,该程序必须在其他链接操作之前在该链接对象上调用 WSActivate().
范例
基本范例 (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);
}