我想使用 GameMaker 1.4 创建一个简单的服务器。但它的功能在第一次尝试时永远不会起作用,不知道为什么..
var networkType = network_socket_tcp;
var port = 50000;
var maxClients = 32;
var bufferSize = 1024;
var bufferType = buffer_fixed;
var bufferAlign = 1;
server = network_create_server(networkType, port, maxClients);
global.buffer = buffer_create(bufferSize,bufferType,bufferAlign);
sockets = ds_list_create();
if server s_msg("Server is up! Port: " + string(port));
else s_msg("Server is down!");
消息将是“服务器关闭”。无论端口或网络类型。当我使用循环尝试相同的代码时,它在第二次尝试时有效。像这样:
var networkType = network_socket_tcp;
var port = 50000;
var maxClients = 32;
var bufferSize = 1024;
var bufferType = buffer_fixed;
var bufferAlign = 1;
server = network_create_server(networkType, port, maxClients);
//////////////////////////////////////////////////////
while (!server && port < 65535){
port++;
server = network_create_server(networkType, port, maxClients);
}
//////////////////////////////////////////////////////
global.buffer = buffer_create(bufferSize,bufferType,bufferAlign);
sockets = ds_list_create();
if server s_msg("Server is up! Port: " + string(port));
else s_msg("Server is down!");
此处消息将导致“服务器启动!端口:50001”。正如我所说,无论端口是什么......它都可以在开始时设置为 50001,从而导致将服务器创建为 50002。有人能指出我的错误吗?