network_send_udp

此函数使用 UDP 通过网络将数据发送到服务器。

该函数采用要连接的 网络套接字 ID、要连接的 URL 以及要使用的端口。然后,您必须提供包含要发送的数据的 Buffer( 有关缓冲区的更多信息,请参阅 参考 - 缓冲区 ),最后提供数据的大小 (以字节为单位)。

该函数将返回已发送数据的字节数,如果发送失败,则返回小于 0 的数字。值得注意的是,该函数返回的发送数据的最终大小还将包含 GameMaker 标头信息,即额外的 12 个字节。

UDP 是 " 无连接 " 的,因为您实际上并不进行连接,您只是直接将数据包发送到 IP,服务器从 IP 地址获取传入数据,并且必须 " 按原样 " 处理它。

注意在HTML5目标上运行的项目中使用此函数时,此函数将不起作用,HTML5项目也无法接收UDP。

注意 此函数使用类似 UDP 的套接字 (即 network_socket_udp)。它也可能适用于其他套接字类型,但这不能保证。

 

语法:

network_send_udp(socket, url, port, bufferid, size);

参数类型描述
socketNetwork Socket ID要使用的套接字的ID。
urlString要连接的 URL 或 IP(字符串,可以是 IPv4 或 IPv6)。
portReal要连接到的端口。
bufferidBuffer从中获取数据的缓冲区。
sizeReal数据的大小(以字节表示)。

 

返回:

Real

 

例子:

network_send_udp(sock, "www.macsweeneygames.com", 6510, buff, buffer_tell(buff));

上述代码将在端口 6510 上向 URL 定义的服务器发送 UDP 数据包。数据取自变量 buff 中的缓冲区。