include

NekoRay 是一个基于 RakNet 的高性能轻量级网络框架,常用于游戏和实时应用,如果你想设置 NekoRay 服务器,可以按照以下步骤操作:

安装 RakNet 和 NekoRay

1 安装 RakNet

RakNet 是 NekoRay 的基础库,首先需要安装 RakNet。

  • 下载 RakNet:

    • 从 RakNet GitHub 或者 官方网站 下载最新版本。
    • 解压压缩包到合适的目录,C:\RakNet 或者你的项目目录。
  • 配置环境变量:

    • 在你的项目目录中创建一个 build 文件夹。
    • 打开命令提示符,进入项目目录,执行以下命令:
      set RAKNET_INSTALL_PATH=C:\RakNet
    • 根据你的实际路径调整 RAKNET_INSTALL_PATH。
  • 安装 RakNet:

    git clone https://github.com/rappt/raknet.git
    cd raknet
    build -t <你的项目名称> -o <输出目录>

2 安装 NekoRay

NekoRay 是基于 RakNet 的,安装后可以直接使用。

  • 下载 NekoRay:

  • 配置项目:

    • 将 NekoRay 的库文件添加到你的项目依赖中。
    • 如果使用 CMake,添加 find_package(NekoRay) 到你的 CMakeLists.txt 中。

项目集成

1 新建项目

如果你还没有项目,可以创建一个新项目。

  • 创建新项目:

    • 打开 VS Code 或其他编辑器,创建一个新文件夹,MyNekoRayProject。
    • 新建一个 CMakeLists.txt 文件,内容如下:
    CMAKE_MINIMUM_VERSION(3.)
    add_subdirectory(NekoRay)
    find_package(NekoRay REQUIRED)
    add_executable(MyNekoRay main)
    target_linklibraries(MyNekoRay NekoRay::NekoRay)

2 添加 NekoRay 依赖

  • 打开 CMakeLists.txt,添加:

    include_directories(${NekoRay_INCLUDE_DIR})
    link_directories(${NekoRay_LIBRARY_DIR})

配置服务器

1 创建服务器类

在你的主类中继承自 NekoRay::Server,并配置服务器参数。


using namespace NekoRay;
class NekoRayServer : public Server {
public:
    NekoRayServer() : Server("127...1", 808) {
        setMaxConnections(1024);
        setMaxIncomingMessageSize(1024 * 1024);
    }
    void onConnect(const Address& address, int port) {
        // 连接建立时的回调
        printf("新客户端连接了:IP=%s,端口=%d\n", address.toString().c_str(), port);
    }
    void onMessage(int sessionId, const Message& message) {
        // 接收消息时的回调
        printf("收到消息:ID=%d,内容=%s\n", sessionId, message.data.c_str());
    }
};
int main() {
    NekoRayServer server;
    server.start();
    return 0;
}

2 配置服务器设置

通过代码设置服务器的配置参数:

  • 监听地址:Server("IP地址", 端口)。
  • 最大连接数:setMaxConnections(int max)。
  • 消息大小限制:setMaxIncomingMessageSize(int size)。
  • 心跳机制:setHeartbeat(int seconds)。

使用示例

以下是一个简单的服务器示例:


using namespace NekoRay;
int main() {
    Server server("...", 808); // 启动服务器监听所有IP
    server.setMaxConnections(1024); // 设置最大连接数
    server.start(); // 开始运行服务器
    return 0;
}

运行服务器

  • 编译项目:

    • 在命令提示符中进入项目目录,执行 cmake --build .。
    • 生成可执行文件,MyNekoRay。
  • 运行服务器:

    • 双击可执行文件,或在命令提示符中执行 MyNekoRay。
    • 服务器将在指定的 IP 和端口上运行。

测试服务器

  • 客户端测试:
    • 使用 telnet 或其他客户端工具,连接到服务器:
      telnet 127...1 808
    • 输入消息,服务器应返回相应的回复。

高级配置

1 SSL 配置

如果需要安全性,可以在服务器中启用 SSL。

#include <NekoRay/Server.h>
using namespace NekoRay;
int main() {
    Server server("127...1", 8443); // HTTPS 端口为 8443
    server.setSSL(true, "证书文件路径", "私钥文件路径");
    server.start();
    return 0;
}

2 IP 转发

如果服务器在内网,可能需要配置防火墙或路由器进行 IP 转发。

故障排除

  • 权限问题:确保服务器有足够的权限运行。
  • 依赖问题:检查 RakNet 和 NekoRay 是否正确安装。
  • 端口占用:检查目标端口是否被占用。

文档和资源

希望这些步骤能帮助你顺利设置 NekoRay 服务器!如果有任何问题,欢迎继续询问。

include

@版权声明

转载原创文章请注明转载自原子VPN|多平台网络连接与线路优化工具,支持节点切换、网络测速及电脑手机端使用,满足不同网络环境下的连接需求,网站地址:https://yuanziapp.com.cn/