Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 参考 » 系统对象 » 系统过程 » 按字母顺排序的系统过程列表

 

sa_send_udp 系统过程

向指定地址发送一个 UDP 包。

语法
sa_send_udp( 
destAddress, 
destPort, 
msg 
)
参数
  • destAddress   使用此 CHAR(254) 指定主机名或 IP 号。

  • destPort   使用此 UNSIGNED SMALLINT 参数指定要使用的端口号。

  • msg   使用此 LONG BINARY 参数指定要发送到指定地址的消息。如果此值是字符串,则必须用单引号括起来。

注释

此过程将单个 UDP 包发送到指定地址。如果消息发送成功,则返回 0;如果出现错误,则返回一个错误代码。错误代码可为以下代码之一:

  • -1,当消息太大而无法在 UDP 套接字上发送时(取决于操作系统)或目标地址有问题时

  • 操作系统返回的 Winsock/Posix 错误代码

如果 msg 参数包含二进制数据或比字符串复杂得多,则您可能想要使用变量。例如,

CREATE VARIABLE v LONG BINARY;
SET v='This is a UDP message';
SELECT dbo.sa_send_udp( '10.25.99.124', 1234, v );
DROP VARIABLE v;

此过程可用于 MobiLink 服务器启动的同步,以唤醒监听器实用程序 (dblsn.exe)。如果将 sa_send_udp 系统过程用作通知监听器的一种方式,则应向 UDP 包添加一个 1。这是服务器启动的同步的协议号。在 MobiLink 的将来版本中,使用新的协议版本可能会使监听器以不同方式运行。

权限

需要 DBA 权限

副作用

示例

以下示例向 IP 地址 10.25.99.196 的 2345 端口发送消息 "This is a test":

CALL sa_send_udp( '10.25.99.196', 2345', 'This is a test' );