network_send_udp_raw

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

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

发送的数据不会被 GameMaker 以任何方式格式化,接收设备将以流的形式获取数据,这意味着您必须自己处理它。

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

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

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

 

语法:

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

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

 

返回:

Real

 

例子:

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

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