向指定地址发送一个 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' ); |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |