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);
}