https://github.com/yukinarit/websocketsample
2016年度 HAL専科用WebSocketSample.
https://github.com/yukinarit/websocketsample
Last synced: 5 days ago
JSON representation
2016年度 HAL専科用WebSocketSample.
- Host: GitHub
- URL: https://github.com/yukinarit/websocketsample
- Owner: yukinarit
- Created: 2016-12-28T09:26:08.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-01-26T11:14:34.000Z (about 8 years ago)
- Last Synced: 2025-03-31T12:39:22.234Z (24 days ago)
- Language: C#
- Homepage:
- Size: 1.8 MB
- Stars: 9
- Watchers: 1
- Forks: 14
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
WebSocketSample
===============WebSocketSample for Unity
## Demo
WebSocketサーバーを使って自分と他プレイヤーの位置を同期するサンプル
青が自分, 赤が他プレイヤー
## Build
* cloneする時に--recursiveしていなければ
```
git submodule --init --recursive
```* クライアント
Unityで実行
* サーバー
- Debug
```
xbuild WebSocketServer.sln
```
- Release
```
xbuild /p:Configuration=Release WebSocketServer.sln
```## Run
* サーバー
```
cd Server/bin/Release
mono Server.exe
```## Protocols


クライント/サーバー間のプロトコルの仕様
* アカウント登録(Client -> Server)
```
{
"method": "register",
"payload": {
"name": "<プレイヤー名を入れる>"
}
}
```* アカウント登録レスポンス(Server -> Client)
```
{
"method": "register_response",
"payload": {
"uid": <サーバーで生成されたプレイヤーIDが入ってくる>
}
}
```* ログイン(Client -> Server)
```
{
"method": "login",
"payload": {
"uid": <プレイヤーID>,
"name": "<プレイヤー名を入れる>"
}
}
```* 自プレイヤーの位置送信(Client -> Server)
```
{
"method": "pos",
"payload": {
"uid": <プレイヤーID>,
"x": <プレイヤーのX座標>,
"y": <プレイヤーのY座標>,
"z": <プレイヤーのZ座標>
}
}
```* 他プレイヤーの位置同期(Server -> Client)
```
{
"method": "sync",
"payload": {
"players": [
{ "uid": <プレイヤー1のID>, "x": <プレイヤー1のX座標>, "y": <プレイヤー1のY座標>, "z": <プレイヤー1のZ座標> },
{ "uid": <プレイヤー2のID>, "x": <プレイヤー2のX座標>, "y": <プレイヤー2のY座標>, "z": <プレイヤー2のZ座標> },{ "uid": <プレイヤーnのID>, "x": <プレイヤーnのX座標>, "y": <プレイヤーnのY座標>, "z": <プレイヤーnのZ座標> },
]
}
}
```