回答編集履歴

1

update

2017/06/28 02:00

投稿

yohhoy
yohhoy

スコア6191

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- ソケット通信(TCP/UDP)は[プロトコルスタックの下位レイヤ](https://ja.wikipedia.org/wiki/%E3%83%88%E3%83%A9%E3%83%B3%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%88%E5%B1%A4)しか提供しませんから、"メッセージ"のやり取りには何らかの上位レイヤ・プロトコルを選択する必要があります。
5
+ ソケット通信(TCP/UDP)は[プロトコルスタックの下位レイヤ](https://ja.wikipedia.org/wiki/%E3%83%88%E3%83%A9%E3%83%B3%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%88%E5%B1%A4)しか提供しませんから、"メッセージ"のやり取りには何らかの上位レイヤ・プロトコル(メッセージフォーマット)を選択する必要があります。
6
6
 
7
7
 
8
8
 
@@ -23,3 +23,15 @@
23
23
 
24
24
 
25
25
  テキストベースのプロトコルは通信オーバーヘッド(データ量や送受信処理の負荷)が大きめですが、他言語とのやり取りや通信内容の確認を容易に行えます。バイナリベースのプロトコルは通信オーバーヘッドを抑えられますが、他言語とのやり取り(相手方がスクリプト系言語など)や通信内容の確認が面倒なことが多いです。
26
+
27
+
28
+
29
+ ---
30
+
31
+ > 例えば、上記の例で、片方のPCが相方のPCに「自分のアプリが止まったらそっちで動作開始してね」と伝えたい
32
+
33
+
34
+
35
+ 要件次第ですが、本当に単純な通信しか行わないのであれば、独自のメッセージフォーマット/通信プロトコルを定義してしまうというやり方もあります。ただし、将来的に拡張したくなったりすることを考えると、汎用性のあるプロトコルを採用してしまったほうが無難でしょう。
36
+
37
+