# Sproto_Unity2Skynet **Repository Path**: bytemode/Sproto_Unity2Skynet ## Basic Information - **Project Name**: Sproto_Unity2Skynet - **Description**: Unity使用Sproto协议与Skynet通信 - **Primary Language**: Lua - **License**: Not specified - **Default Branch**: master - **Homepage**: https://gitee.com/Cauchy_AQ/Sproto_Unity2Skynet - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2023-09-06 - **Last Updated**: 2023-09-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## Unity -> Sproto -> Skynet - 项目结构: `Assets/Sproto/` - `sproto-Csharp`: [https://github.com/lvzixun/sproto-Csharp](https://github.com/lvzixun/sproto-Csharp) - `sproto-Unity`: [https://github.com/m2q1n9/sproto-Unity](https://github.com/m2q1n9/sproto-Unity) - `sprotodump`: [https://github.com/lvzixun/sprotodump](https://github.com/lvzixun/sprotodump) - `protocol/`: > `sproto` 协议文件存放的文件夹 1. `gen_cs.bat`: 批处理文件,用于将 `.sproto` 文件 生成为 `.cs` 文件。 2. `game.sproto`: 需要制定的数据协议文件。 3. `gen_cs/`: 用于存放生成的 `c#` 文件。 ------ - 客户端和服务端存放的协议文件: - 客户端 `game.sproto`: ```lua .package { type 0 : integer session 1 : integer } handshake 1 { response { msg 0 : string } } get 2 { request { what 0 : string } response { result 0 : string } } set 3 { request { what 0 : string value 1 : string } response { result 0: string } } quit 4 {} heartbeat 5 {} cauchy 6 { request { what 0 : string } response { msg 0 : string } } ``` - 服务端 `proto.lua`: ```lua local sprotoparser = require "sprotoparser" local proto = {} proto.c2s = sprotoparser.parse [[ .package { type 0 : integer session 1 : integer } handshake 1 { response { msg 0 : string } } get 2 { request { what 0 : string } response { result 0 : string } } set 3 { request { what 0 : string value 1 : string } response { result 0: string } } quit 4 {} cauchy 6 { request { what 0 : string } response { msg 0 : string } } ]] proto.s2c = sprotoparser.parse [[ .package { type 0 : integer session 1 : integer } heartbeat 5 {} ]] return proto ```