network_create_socket_ext

此函数为您的游戏创建一个新的客户端套接字,以便通过网络进行通信。

您必须定义套接字类型 (请参阅下面的常量列表) 并提供要使用的端口,该函数将返回一个唯一的 id,该值应在该套接字的所有后续函数调用中使用,或者返回一个值如果连接失败,则小于 0。

套接字类型常量
常量描述
network_socket_tcpCreate a socket using TCP.
network_socket_udpCreate a socket using UDP.
network_socket_wsCreate a WebSocket using TCP. (NOTE: Use Async functions for connecting through WebSockets)
network_socket_wss *Create a secure WebSocket using TCP.

注意 1 还可以使用 URL 中的 wss:// 协议来保护简单网络套接字 (network_socket_ws)。

注意 2* 使用传统 XDK 平台时,安全网络套接字在 UWP 和 Xbox One 上不起作用,但在使用 GDK 时,它们将在这些目标上起作用。

重要信息iOS 14 及更高版本要求您请求多播授权 (com.apple.developer.networking.multicast) 并启用它,以便 发送和接收 多播广播。要让 GameMaker 添加此权利,您应该在 iOS 游戏选项 /tvOS 游戏选项启用广播网络 ( 不这样做会引发错误)。
此外,在首次发送数据包之前,iOS 14 不会向用户显示同意模式对话框。因此,如果 UDP 套接字仅接收,则不会显示警报。解决此问题的一种方法是发送一个空的 " 虚拟 " 数据包,以便触发同意模式。

 

语法:

network_create_socket_ext(protocol, port);

参数类型描述
protocol套接字类型常量要使用的网络协议
portReal要使用的端口

 

返回:

Network Socket ID

 

例子:

client = network_create_socket_ext(network_socket_udp, 6510);

上述代码将在端口6510上创建新的UDP套接字。