此函数使用允许的连接协议之一为您的游戏创建一个新的网络服务器 (请参阅下面列出的常量)。
您提供服务器类型,然后给它一个要使用的端口,最后是服务器在任何时间允许的最大连接数 (请注意,这个数字取决于您,但是太多连接的客户端将使服务器饱和) 网络或设备 CPU 将无法处理该数量玩家的处理,因此请谨慎使用)。该函数返回一个唯一的 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) |
注意 创建服务器时不支持安全 WebSocket, 仅作为客户端 。
由于这会创建"原始"服务器,因此不会接受也不会使用任何内置GameMaker数据头进行通信,因此您应该使用函数network_send_raw()和network_send_udp_raw()将未格式化的数据发送到创建的服务器。
network_create_server_raw(type, port, max_client);
参数 | 类型 | 描述 |
---|---|---|
type | 套接字类型常量 | 要创建的服务器的类型(请参阅上面的常量列表)。 |
port | Real | 服务器将使用的端口。 |
max_client | Real | 一次可以连接的最大客户端数。 |
var port = 6510;
server = network_create_server_raw(network_socket_tcp, port, 32);
while (server < 0 && port < 65535)
{
port++
server = network_create_server(network_socket_tcp, port, 32);
}
以上代码将尝试通过端口6510使用TCP创建服务器。如果该端口不可用,则它将循环通过这些端口查找其中一个。