此函数为您的游戏创建一个新的客户端套接字,以便通过网络进行通信。
您必须定义套接字类型 (请参阅下面的常量列表) 并提供要使用的端口,该函数将返回一个唯一的 id,该值应在该套接字的所有后续函数调用中使用,或者返回一个值如果连接失败,则小于 0。
套接字类型常量 | |
---|---|
常量 | 描述 |
network_socket_tcp | Create a socket using TCP. |
network_socket_udp | Create a socket using UDP. |
network_socket_ws | Create 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 | 套接字类型常量 | 要使用的网络协议 |
port | Real | 要使用的端口 |
client = network_create_socket_ext(network_socket_udp, 6510);
上述代码将在端口6510上创建新的UDP套接字。