WSNewLinkServerWithPort (C 函数)
WSLinkServer WSNewLinkServerWithPort(WSENV e, unsigned short p, void *c, int *err)
使用上下文对象 c 在端口 p 中开始一个新的 TCPIP 链接服务器,并用 err 返回错误状况.
更多信息
- 在使用 Wolfram 符号传递协议(Wolfram Symbolic Transfer Protocol- WSTP)的一般过程中,创建的连接在一对一标准(one-to-one standard)下发生作用,即当程序 A 与程序 B 连接时,只有 A 和 B 可以使用在 A 与 B 之间建立的通信终端. 这种一对一模式与传统客户端 / 服务器通信模式不同,后者用一对多模式推广连接,即服务器有一个连接,且有多个客户端连接到此连接. 该 WSTP 链接服务器功能允许用于创建一个可以利用 Wolfram 符号传递协议提供一对多连接的程序.
- WSNewLinkServerWithPort() 可在允许多个客户端连接的网络上创建一个 TCPIP 链接协议 WSTP 终端.
- WSNewLinkServerWithPort() 可创建一个只能通过 WSTP 接口4(WSTP interface 4)兼容程序连接的 WSTP 终端.
- WSNewLinkServerWithPort() 允许 WSTP 库选择用于链接服务器的界面.
- 链接服务器对象会将输入连接排成队列,这些输入连接或可用函数 WSWaitForNewLinkFromLinkServer() 同步处理,或可通过用函数 WSRegisterCallbackFunctionWithLinkServer() 注册一个回调函数异步处理.
- 该上下文对象 c 可能是程序需要用来管理由链接服务器创建的链接连接的任何对象的指针. 用户可以用函数 WSContextFromLinkServer() 来检索上下文对象.
- 若函数成功,则 WSNewLinkServerWithPort() 将 err 设置为0;若函数失败,则设置为非零值.
- 说明存在错误状况的非零值相当于 wstp.h 中的 WSE 错误代码,并由 WSError() 返回.
- 可使用 WSShutdownLinkServer() 来关闭链接服务器机制.
范例
基本范例 (1)
#include "wstp.h"
void operateLinkServerOnPort(WSENV env, unsigned short port)
{
int error;
WSLinkServer linkServer;
WSLINK theLink;
linkServer = WSNewLinkServerWithPort(env, port,
NULL /* No context object for this example */, &error);
if(error != WSEOK)
{ /* Handle error */ }
theLink = WSWaitForNewLinkFromLinkserver(linkServer, &error);
if(theLink == (WSLINK)0 || error != WSEOK)
{ /* Handle error */ }
...
WSCLose(theLink);
WSShutdownLinkServer(linkServer);
}