SlideShare una empresa de Scribd logo
1 de 32
Descargar para leer sin conexión
ソシャゲにおける
サーバとクライアントの
決めごと
自己紹介
@peto_tn
エンジニア
Java,Obj-C,C#を経てPHPとか
ソシャゲ
必ずクライアント(アプリ)とサーバの
通信が発生
通信する為には色々と取り決めが必要
決めること
ネットワークプロトコル
(HTTP, TCP/UDP)
データ形式
(XML, JSON, MessagePack, RPC)
ゲーム用プロトコル
(ゲーム用通信プロトコル)
プロトコルの管理方法
(仕様書, バージョン管理, 共通化保障)
セキュリティ
(SSL/TLS, 暗号化, 難読化)
決めること
ネットワークプロトコル
(HTTP, TCP/UDP)
データ形式
(XML, JSON, MessagePack, RPC)
ゲーム用プロトコル
(ゲーム用通信プロトコル)
プロトコルの管理方法
(仕様書, バージョン管理, 共通化保障)
セキュリティ
(SSL/TLS, 暗号化, 難読化)
ネットワークプロトコル
基本HTTPで片付く
リアルタイム通信が必要な場合はUDPを
(3G回線遅い)
UDPは不正確でいいデータのみに絞る
(現状リアルタイムは作ってません)
決めること
ネットワークプロトコル
(HTTP, TCP/UDP)
データ形式
(XML, JSON, MessagePack, RPC)
ゲーム用プロトコル
(ゲーム用通信プロトコル)
プロトコルの管理方法
(仕様書, バージョン管理, 共通化保障)
セキュリティ
(SSL/TLS, 暗号化, 難読化)
データ形式
選択肢は色々
XMLか JSONか MessagePackか?
RPCという手も?
独自シリアライズ作るか?
データ形式
 XML : 肥大化して遅くなりがち
 JSON : 可読性よい。割りと小さい
 MessagePack : バイナリ。小さく速い
 RPC : どうしても使いたかったら
 独自シリアライズ : 大変
MessagePackおすすめです
データ形式
<?xml version="1.0" encoding="UTF-8" ?>
<user_id>123456</user_id>
<name>hogehoge</name>
<age>20</age>
{"user_id":123456,
"name":"hogehoge",
"age":20}
83 a7 75 73 65 72 5f 69 64 ce 00 01 e2 40
a4 6e 61 6d 65 a8 68 6f 67 65 68 6f 67 65 a3
61 67 65 14 0a
XML
102 byte
JSON
51 byte
50%削減
MessagePack
34 byte
67%削減
データ形式
1通信  1リクエスト
1通信  複数リクエスト
一度に複数リクエストの方がよい
実装は複雑になる
データ形式
1通信  1リクエスト
Client Server
ユーザ情報
リクエスト
ユーザ情報
レスポンス
フレンド情報
リクエスト
フレンド情報
レスポンス
データ形式
1通信  複数リクエスト
Client Server
ユーザ情報
リクエスト
ユーザ情報
レスポンス
フレンド情報
リクエスト
フレンド情報
レスポンス
決めること
ネットワークプロトコル
(HTTP, TCP/UDP)
データ形式
(XML, JSON, MessagePack, RPC)
ゲーム用プロトコル
(ゲーム用通信プロトコル)
プロトコルの管理方法
(仕様書, バージョン管理, 共通化保障)
セキュリティ
(SSL/TLS, 暗号化, 難読化)
ゲーム用プロトコル
ユーザID, パスワード, ユーザ名
ゲームで必要なデータを設計
ログイン
アイテムID, 使用個数アイテム使用
ユーザID, フレンドIDフレンド申請
ゲーム用プロトコル
リクエストとレスポンス
フレンド一覧
取得
リクエスト
ユーザID
レスポンス
フレンド一覧
ゲーム用プロトコル
共通の定数
フレンド状態
0: フレンド未登録
1: フレンド申請中
2: フレンド登録済
ゲーム用プロトコル
全レスポンスの共通項目
リクエストの成否/エラー情報
メンテナンス情報
通信エラー
コード1000
OK
メンテナンス中
OK
決めること
ネットワークプロトコル
(HTTP, TCP/UDP)
データ形式
(XML, JSON, MessagePack, RPC)
ゲーム用プロトコル
(ゲーム用の通信プロトコル)
プロトコルの管理方法
(仕様書, バージョン管理, 共通化保障)
セキュリティ
(SSL/TLS, 暗号化, 難読化)
プロトコルの管理方法
クライアント/サーバで共有し参照する
資料
Excel, SpreadSheet etc.
概要 コマンド名 リクエスト レスポンス
ログイン login int: user_id
string: password
int: result
プロトコルの管理方法
Client Server
userid : 1234
password : hoge
user_id
が送られて
来ていない!
ログインする
からデータ
送るよ
プロトコルの管理方法
サーバ/クライアント両方に対して
確実にデータ構造を保障したい
共通の定義を記述し、サーバ用、クライ
アント用に自動コンバート/反映させる
プロトコルの管理方法
プロトコル
サーバ クライアント
プロトコルのコンバート
プロトコルの管理方法
{
“request”: {
“user_id”: {“type”: “int”, “comment”: “ユーザーID"}
},
"response": {
"result": {"type": "int", "comment": "結果"}
}
}
public class UserReq {
public int userId;
}
public class UserRes {
public int result;
}
public class MessageUserRequest {
public int UserId { get; set; }
}
public class MessageUserResponse {
public override int Result { get; set; }
}
定数のコンバート
プロトコルの管理方法
STATE_SEND_REQUEST,0,,フレンド未登録,
STATE_RECV_REQUEST,1,,申請中,
STATE_ACCEPTED,2,,フレンド登録済,
public final class ConstFriend {
public static final int STATE_SEND_REQUEST = 0;
public static final int STATE_RECV_REQUEST = 1;
public static final int STATE_ACCEPTED = 2;
}
public static class ConstFriend {
public const int STATE_SEND_REQUEST = 0;
public const int STATE_RECV_REQUEST = 1;
public const int STATE_ACCEPTED = 2;
}
マスタのコンバート
プロトコルの管理方法
id name rarity type
1 ゴブリン 1 1
2 ドラゴン 2 2
INSERT INTO `data_monsters` (`id`, `name`,
`rarity`, `type`) VALUES
(1, ‘ゴブリン’, 1, 1),
(2, ‘ドラゴン’, 2, 2);
1,ゴブリン,1,1
2,ドラゴン,2,2
DB
配信用
アセット
プロトコルの管理方法
クライアントとサーバのソースは
同一リポジトリに置いたほうが楽
リポジトリが肥大化してやばいなら、
別途安全な反映方法を検討する必要あり
プロトコルもバージョン管理へ
決めること
ネットワークプロトコル
(HTTP, TCP/UDP)
データ形式
(XML, JSON, MessagePack, RPC)
ゲーム用プロトコル
(ゲーム用の通信プロトコル)
プロトコルの管理方法
(仕様書, バージョン管理, 共通化保障)
セキュリティ
(SSL/TLS, 暗号化, 難読化)
セキュリティ
全ての通信に暗号化、難読化
アカウント、課金周りは細心の注意を!
SSL/TLS、各種暗号化
それでも不正はある
不正対策は十分行う
その他
アセットの配布方法
セッションの保持方法
などなど
最後に
色々ちゃんと決めとかないと死ぬ
変な決め方をしても死ぬ
ゲームにあった最適なものを採用!
ありがとうございました

Más contenido relacionado

La actualidad más candente

オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫Yuta Imai
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなKentaro Matsui
 
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGoogle Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGoogle Cloud Platform - Japan
 
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~Daisuke Morishita
 
5分でわかるブロックチェーンの基本的な仕組み
5分でわかるブロックチェーンの基本的な仕組み5分でわかるブロックチェーンの基本的な仕組み
5分でわかるブロックチェーンの基本的な仕組みRyo Shimamura
 
20190604 Containerized MagicOnion on kubernetes with Observability with New R...
20190604 Containerized MagicOnion on kubernetes with Observability with New R...20190604 Containerized MagicOnion on kubernetes with Observability with New R...
20190604 Containerized MagicOnion on kubernetes with Observability with New R...Takayoshi Tanaka
 
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~モノビット エンジン
 
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜 リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜 Yugo Shimizu
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Kohei Tokunaga
 
Cognitive Complexity でコードの複雑さを定量的に計測しよう
Cognitive Complexity でコードの複雑さを定量的に計測しようCognitive Complexity でコードの複雑さを定量的に計測しよう
Cognitive Complexity でコードの複雑さを定量的に計測しようShuto Suzuki
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話Kumazaki Hiroki
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)NTT DATA Technology & Innovation
 
JSON:APIについてざっくり入門
JSON:APIについてざっくり入門JSON:APIについてざっくり入門
JSON:APIについてざっくり入門iPride Co., Ltd.
 
FAPI and beyond - よりよいセキュリティのために
FAPI and beyond - よりよいセキュリティのためにFAPI and beyond - よりよいセキュリティのために
FAPI and beyond - よりよいセキュリティのためにNat Sakimura
 
ゲームサーバ開発現場の考え方
ゲームサーバ開発現場の考え方ゲームサーバ開発現場の考え方
ゲームサーバ開発現場の考え方Daisaku Mochizuki
 
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化Takuya ASADA
 
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGoogle Cloud Platform - Japan
 

La actualidad más candente (20)

オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
 
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGoogle Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online
 
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
 
5分でわかるブロックチェーンの基本的な仕組み
5分でわかるブロックチェーンの基本的な仕組み5分でわかるブロックチェーンの基本的な仕組み
5分でわかるブロックチェーンの基本的な仕組み
 
20190604 Containerized MagicOnion on kubernetes with Observability with New R...
20190604 Containerized MagicOnion on kubernetes with Observability with New R...20190604 Containerized MagicOnion on kubernetes with Observability with New R...
20190604 Containerized MagicOnion on kubernetes with Observability with New R...
 
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
 
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜 リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
Cognitive Complexity でコードの複雑さを定量的に計測しよう
Cognitive Complexity でコードの複雑さを定量的に計測しようCognitive Complexity でコードの複雑さを定量的に計測しよう
Cognitive Complexity でコードの複雑さを定量的に計測しよう
 
多機能ボイチャを簡単に導入する方法
多機能ボイチャを簡単に導入する方法多機能ボイチャを簡単に導入する方法
多機能ボイチャを簡単に導入する方法
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
 
UnityのMultiplayサービスの得意な事
UnityのMultiplayサービスの得意な事UnityのMultiplayサービスの得意な事
UnityのMultiplayサービスの得意な事
 
AS45679 on FreeBSD
AS45679 on FreeBSDAS45679 on FreeBSD
AS45679 on FreeBSD
 
JSON:APIについてざっくり入門
JSON:APIについてざっくり入門JSON:APIについてざっくり入門
JSON:APIについてざっくり入門
 
FAPI and beyond - よりよいセキュリティのために
FAPI and beyond - よりよいセキュリティのためにFAPI and beyond - よりよいセキュリティのために
FAPI and beyond - よりよいセキュリティのために
 
ゲームサーバ開発現場の考え方
ゲームサーバ開発現場の考え方ゲームサーバ開発現場の考え方
ゲームサーバ開発現場の考え方
 
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化
 
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
 

Destacado

LT#8 乗るしかないこのECMA Script 2015に
LT#8 乗るしかないこのECMA Script 2015にLT#8 乗るしかないこのECMA Script 2015に
LT#8 乗るしかないこのECMA Script 2015にdo7be
 
LT#9 開発合宿 in HAKONE
LT#9 開発合宿 in HAKONELT#9 開発合宿 in HAKONE
LT#9 開発合宿 in HAKONEdo7be
 
DynamoDBだけでソシャゲを作ってみた
DynamoDBだけでソシャゲを作ってみたDynamoDBだけでソシャゲを作ってみた
DynamoDBだけでソシャゲを作ってみた伊藤 祐策
 
DynamoDB活用事例 株式会社マイネット
DynamoDB活用事例 株式会社マイネットDynamoDB活用事例 株式会社マイネット
DynamoDB活用事例 株式会社マイネット伊藤 祐策
 
DynamoDBによるソーシャルゲーム実装 How To
DynamoDBによるソーシャルゲーム実装 How ToDynamoDBによるソーシャルゲーム実装 How To
DynamoDBによるソーシャルゲーム実装 How To伊藤 祐策
 
Lv1から始めるWebサービスのインフラ構築
Lv1から始めるWebサービスのインフラ構築Lv1から始めるWebサービスのインフラ構築
Lv1から始めるWebサービスのインフラ構築伊藤 祐策
 
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事Manabu Koga
 
オンラインゲーム作ってみたよ。
オンラインゲーム作ってみたよ。オンラインゲーム作ってみたよ。
オンラインゲーム作ってみたよ。Hayato Doi
 
オンラインゲームのチートとセキュリティ
オンラインゲームのチートとセキュリティオンラインゲームのチートとセキュリティ
オンラインゲームのチートとセキュリティHayato Doi
 
C#でもメタプログラミングがしたい!!
C#でもメタプログラミングがしたい!!C#でもメタプログラミングがしたい!!
C#でもメタプログラミングがしたい!!TATSUYA HAYAMIZU
 
インターフェイスによるオブジェクト指向設計
インターフェイスによるオブジェクト指向設計インターフェイスによるオブジェクト指向設計
インターフェイスによるオブジェクト指向設計Akineko Shimizu
 
Google Cloud Platformでソーシャルゲームを1本出してみた!
Google Cloud Platformでソーシャルゲームを1本出してみた!Google Cloud Platformでソーシャルゲームを1本出してみた!
Google Cloud Platformでソーシャルゲームを1本出してみた!Hasegawa Yusuke
 
ポコロンダンジョンズとリアルタイム通信 -クライアント編-
ポコロンダンジョンズとリアルタイム通信 -クライアント編-ポコロンダンジョンズとリアルタイム通信 -クライアント編-
ポコロンダンジョンズとリアルタイム通信 -クライアント編-Suguru Shirai
 
ポコロンダンジョンズとリアルタイム通信 -サーバサイド編-
ポコロンダンジョンズとリアルタイム通信 -サーバサイド編-ポコロンダンジョンズとリアルタイム通信 -サーバサイド編-
ポコロンダンジョンズとリアルタイム通信 -サーバサイド編-Suguru Shirai
 
Cookpad Summer Intern 2015 - Programming Paradigm
Cookpad Summer Intern 2015 - Programming ParadigmCookpad Summer Intern 2015 - Programming Paradigm
Cookpad Summer Intern 2015 - Programming ParadigmMinero Aoki
 
サーバPUSHざっくりまとめ
サーバPUSHざっくりまとめサーバPUSHざっくりまとめ
サーバPUSHざっくりまとめYasuhiro Mawarimichi
 
[CEDEC2012]ネットワークゲームの不正行為と対策
[CEDEC2012]ネットワークゲームの不正行為と対策[CEDEC2012]ネットワークゲームの不正行為と対策
[CEDEC2012]ネットワークゲームの不正行為と対策gree_tech
 
HTTP/2の現状とこれから
HTTP/2の現状とこれからHTTP/2の現状とこれから
HTTP/2の現状とこれからshigeki_ohtsu
 
Djangoによるスマホアプリバックエンドの実装
Djangoによるスマホアプリバックエンドの実装Djangoによるスマホアプリバックエンドの実装
Djangoによるスマホアプリバックエンドの実装Nakazawa Yuichi
 
スマートフォンゲームのチート事情
スマートフォンゲームのチート事情スマートフォンゲームのチート事情
スマートフォンゲームのチート事情直生 亀山
 

Destacado (20)

LT#8 乗るしかないこのECMA Script 2015に
LT#8 乗るしかないこのECMA Script 2015にLT#8 乗るしかないこのECMA Script 2015に
LT#8 乗るしかないこのECMA Script 2015に
 
LT#9 開発合宿 in HAKONE
LT#9 開発合宿 in HAKONELT#9 開発合宿 in HAKONE
LT#9 開発合宿 in HAKONE
 
DynamoDBだけでソシャゲを作ってみた
DynamoDBだけでソシャゲを作ってみたDynamoDBだけでソシャゲを作ってみた
DynamoDBだけでソシャゲを作ってみた
 
DynamoDB活用事例 株式会社マイネット
DynamoDB活用事例 株式会社マイネットDynamoDB活用事例 株式会社マイネット
DynamoDB活用事例 株式会社マイネット
 
DynamoDBによるソーシャルゲーム実装 How To
DynamoDBによるソーシャルゲーム実装 How ToDynamoDBによるソーシャルゲーム実装 How To
DynamoDBによるソーシャルゲーム実装 How To
 
Lv1から始めるWebサービスのインフラ構築
Lv1から始めるWebサービスのインフラ構築Lv1から始めるWebサービスのインフラ構築
Lv1から始めるWebサービスのインフラ構築
 
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
 
オンラインゲーム作ってみたよ。
オンラインゲーム作ってみたよ。オンラインゲーム作ってみたよ。
オンラインゲーム作ってみたよ。
 
オンラインゲームのチートとセキュリティ
オンラインゲームのチートとセキュリティオンラインゲームのチートとセキュリティ
オンラインゲームのチートとセキュリティ
 
C#でもメタプログラミングがしたい!!
C#でもメタプログラミングがしたい!!C#でもメタプログラミングがしたい!!
C#でもメタプログラミングがしたい!!
 
インターフェイスによるオブジェクト指向設計
インターフェイスによるオブジェクト指向設計インターフェイスによるオブジェクト指向設計
インターフェイスによるオブジェクト指向設計
 
Google Cloud Platformでソーシャルゲームを1本出してみた!
Google Cloud Platformでソーシャルゲームを1本出してみた!Google Cloud Platformでソーシャルゲームを1本出してみた!
Google Cloud Platformでソーシャルゲームを1本出してみた!
 
ポコロンダンジョンズとリアルタイム通信 -クライアント編-
ポコロンダンジョンズとリアルタイム通信 -クライアント編-ポコロンダンジョンズとリアルタイム通信 -クライアント編-
ポコロンダンジョンズとリアルタイム通信 -クライアント編-
 
ポコロンダンジョンズとリアルタイム通信 -サーバサイド編-
ポコロンダンジョンズとリアルタイム通信 -サーバサイド編-ポコロンダンジョンズとリアルタイム通信 -サーバサイド編-
ポコロンダンジョンズとリアルタイム通信 -サーバサイド編-
 
Cookpad Summer Intern 2015 - Programming Paradigm
Cookpad Summer Intern 2015 - Programming ParadigmCookpad Summer Intern 2015 - Programming Paradigm
Cookpad Summer Intern 2015 - Programming Paradigm
 
サーバPUSHざっくりまとめ
サーバPUSHざっくりまとめサーバPUSHざっくりまとめ
サーバPUSHざっくりまとめ
 
[CEDEC2012]ネットワークゲームの不正行為と対策
[CEDEC2012]ネットワークゲームの不正行為と対策[CEDEC2012]ネットワークゲームの不正行為と対策
[CEDEC2012]ネットワークゲームの不正行為と対策
 
HTTP/2の現状とこれから
HTTP/2の現状とこれからHTTP/2の現状とこれから
HTTP/2の現状とこれから
 
Djangoによるスマホアプリバックエンドの実装
Djangoによるスマホアプリバックエンドの実装Djangoによるスマホアプリバックエンドの実装
Djangoによるスマホアプリバックエンドの実装
 
スマートフォンゲームのチート事情
スマートフォンゲームのチート事情スマートフォンゲームのチート事情
スマートフォンゲームのチート事情
 

Similar a ソシャゲにおけるサーバとクライアントの決めごと

コンピューターネットワーク入門
コンピューターネットワーク入門コンピューターネットワーク入門
コンピューターネットワーク入門Yusuke Miyazaki
 
第三回IoT関連技術勉強会 データ通信編
第三回IoT関連技術勉強会 データ通信編第三回IoT関連技術勉強会 データ通信編
第三回IoT関連技術勉強会 データ通信編tzm_freedom
 
websocket-survery
websocket-surverywebsocket-survery
websocket-surveryhogemaru_
 
Hokkaido.cap#2 一般的なプロトコルのパケットを覗いてみよう
Hokkaido.cap#2 一般的なプロトコルのパケットを覗いてみようHokkaido.cap#2 一般的なプロトコルのパケットを覗いてみよう
Hokkaido.cap#2 一般的なプロトコルのパケットを覗いてみようPanda Yamaki
 
WebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Protocol と Plack::Middleware::WebSocketWebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Protocol と Plack::Middleware::WebSocketYu Nobuoka
 
Apache Avro vs Protocol Buffers
Apache Avro vs Protocol BuffersApache Avro vs Protocol Buffers
Apache Avro vs Protocol BuffersSeiya Mizuno
 
パケットフィルタリングの考え方
パケットフィルタリングの考え方パケットフィルタリングの考え方
パケットフィルタリングの考え方Koiwa Hidekazu
 
システムと情報の数理・ネットワーク概論
システムと情報の数理・ネットワーク概論システムと情報の数理・ネットワーク概論
システムと情報の数理・ネットワーク概論shigaoki
 
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)Shinichiro Isago
 
Wiresharkの解析プラグインを作る ssmjp 201409
Wiresharkの解析プラグインを作る ssmjp 201409Wiresharkの解析プラグインを作る ssmjp 201409
Wiresharkの解析プラグインを作る ssmjp 201409稔 小林
 
アメーバピグのサーバとクライアントはどうやって通信しているのか
アメーバピグのサーバとクライアントはどうやって通信しているのかアメーバピグのサーバとクライアントはどうやって通信しているのか
アメーバピグのサーバとクライアントはどうやって通信しているのかTanaka Hiromi
 
第6回 初心者向け Ruby on Rails勉強会 in 門前仲町
第6回 初心者向け Ruby on Rails勉強会 in 門前仲町第6回 初心者向け Ruby on Rails勉強会 in 門前仲町
第6回 初心者向け Ruby on Rails勉強会 in 門前仲町剛 羽根
 
第6回 初心者向け Ruby on Rails勉強会 in 門前仲町
第6回 初心者向け Ruby on Rails勉強会 in 門前仲町第6回 初心者向け Ruby on Rails勉強会 in 門前仲町
第6回 初心者向け Ruby on Rails勉強会 in 門前仲町剛 羽根
 
第6回 初心者向け Ruby on Rails 勉強会 in 門前仲町
第6回 初心者向け Ruby on Rails 勉強会 in 門前仲町第6回 初心者向け Ruby on Rails 勉強会 in 門前仲町
第6回 初心者向け Ruby on Rails 勉強会 in 門前仲町剛 羽根
 
IPストリーム伝送のための 誤り訂正機能をもつ アプリケーションゲートウェイの開発
IPストリーム伝送のための誤り訂正機能をもつアプリケーションゲートウェイの開発IPストリーム伝送のための誤り訂正機能をもつアプリケーションゲートウェイの開発
IPストリーム伝送のための 誤り訂正機能をもつ アプリケーションゲートウェイの開発Takashi Kishida
 
gumiStudy#7 The MessagePack Project
gumiStudy#7 The MessagePack ProjectgumiStudy#7 The MessagePack Project
gumiStudy#7 The MessagePack ProjectSadayuki Furuhashi
 

Similar a ソシャゲにおけるサーバとクライアントの決めごと (20)

コンピューターネットワーク入門
コンピューターネットワーク入門コンピューターネットワーク入門
コンピューターネットワーク入門
 
Xml Security
Xml SecurityXml Security
Xml Security
 
IPsecについて
IPsecについてIPsecについて
IPsecについて
 
第三回IoT関連技術勉強会 データ通信編
第三回IoT関連技術勉強会 データ通信編第三回IoT関連技術勉強会 データ通信編
第三回IoT関連技術勉強会 データ通信編
 
SPDYの話
SPDYの話SPDYの話
SPDYの話
 
websocket-survery
websocket-surverywebsocket-survery
websocket-survery
 
Hokkaido.cap#2 一般的なプロトコルのパケットを覗いてみよう
Hokkaido.cap#2 一般的なプロトコルのパケットを覗いてみようHokkaido.cap#2 一般的なプロトコルのパケットを覗いてみよう
Hokkaido.cap#2 一般的なプロトコルのパケットを覗いてみよう
 
WebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Protocol と Plack::Middleware::WebSocketWebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Protocol と Plack::Middleware::WebSocket
 
Apache Avro vs Protocol Buffers
Apache Avro vs Protocol BuffersApache Avro vs Protocol Buffers
Apache Avro vs Protocol Buffers
 
P2Pって何?
P2Pって何?P2Pって何?
P2Pって何?
 
パケットフィルタリングの考え方
パケットフィルタリングの考え方パケットフィルタリングの考え方
パケットフィルタリングの考え方
 
システムと情報の数理・ネットワーク概論
システムと情報の数理・ネットワーク概論システムと情報の数理・ネットワーク概論
システムと情報の数理・ネットワーク概論
 
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)
 
Wiresharkの解析プラグインを作る ssmjp 201409
Wiresharkの解析プラグインを作る ssmjp 201409Wiresharkの解析プラグインを作る ssmjp 201409
Wiresharkの解析プラグインを作る ssmjp 201409
 
アメーバピグのサーバとクライアントはどうやって通信しているのか
アメーバピグのサーバとクライアントはどうやって通信しているのかアメーバピグのサーバとクライアントはどうやって通信しているのか
アメーバピグのサーバとクライアントはどうやって通信しているのか
 
第6回 初心者向け Ruby on Rails勉強会 in 門前仲町
第6回 初心者向け Ruby on Rails勉強会 in 門前仲町第6回 初心者向け Ruby on Rails勉強会 in 門前仲町
第6回 初心者向け Ruby on Rails勉強会 in 門前仲町
 
第6回 初心者向け Ruby on Rails勉強会 in 門前仲町
第6回 初心者向け Ruby on Rails勉強会 in 門前仲町第6回 初心者向け Ruby on Rails勉強会 in 門前仲町
第6回 初心者向け Ruby on Rails勉強会 in 門前仲町
 
第6回 初心者向け Ruby on Rails 勉強会 in 門前仲町
第6回 初心者向け Ruby on Rails 勉強会 in 門前仲町第6回 初心者向け Ruby on Rails 勉強会 in 門前仲町
第6回 初心者向け Ruby on Rails 勉強会 in 門前仲町
 
IPストリーム伝送のための 誤り訂正機能をもつ アプリケーションゲートウェイの開発
IPストリーム伝送のための誤り訂正機能をもつアプリケーションゲートウェイの開発IPストリーム伝送のための誤り訂正機能をもつアプリケーションゲートウェイの開発
IPストリーム伝送のための 誤り訂正機能をもつ アプリケーションゲートウェイの開発
 
gumiStudy#7 The MessagePack Project
gumiStudy#7 The MessagePack ProjectgumiStudy#7 The MessagePack Project
gumiStudy#7 The MessagePack Project
 

ソシャゲにおけるサーバとクライアントの決めごと