此函数使用 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);
参数 | 类型 | 描述 |
---|---|---|
socket | Network Socket ID | 要使用的套接字的ID。 |
url | String | 要连接的 URL 或 IP(字符串,可以是 IPv4 或 IPv6)。 |
port | Real | 要连接到的端口。 |
bufferid | Buffer | 从中获取数据的缓冲区。 |
size | Real | 数据的大小(以字节表示)。 |
network_send_udp(sock, "www.macsweeneygames.com", 6510, buff, buffer_tell(buff));
上述代码将在端口 6510 上向 URL 定义的服务器发送 UDP 数据包。数据取自变量 buff 中的缓冲区。