きわめて初歩的な質問だと思うのですが、よろしくお願い致します。
【やりたいこと】
とある目的のため、2台のPCをTCP通信して協調的に動かしたいです。
ざっくり言えば、2台のPC上でそれぞれアプリケーションが動いており、
片方のアプリが停止したらそれをもう片方に伝えてそちら側のアプリが動き出す、みたいなことです。
【言語】
C++です。(が他言語でも本件は同じようなものだと思うので、他言語での回答でも有難いです)
【疑問】
・2台のPC間でTCPのソケット通信をして、メッセージのやり取りをしようと考えています。
・ソケット通信のサンプルプログラムを見ると、
(C言語なら)write(sock, "HELLO", 5), read(sock, buf, sizeof(buf))のように
文字列のやり取りをしているサンプルが多いです。(というかそればかり)。
・ソケット通信でメッセージをやり取りする時のデータはどういう形式が王道なのでしょうか?
例えば、上記の例で、片方のPCが相方のPCに「自分のアプリが止まったらそっちで動作開始してね」と伝えたいとき、
片方で
cpp
1write(sock, "I_STOPPED", 9);
として、もう片側で
cpp
1read(sock, buf, sizeof(buf)); 2string result(buf); 3if (result == "I_STOPPED") { 4 I_start(); 5}
などとするのでしょうか?
(・・・なんか違うんじゃないか、文字列で伝えるより洗練されたやり方があるのではないかと思っています。)
浅学で恐縮です。
アドバイスのほどよろしくお願い致します。
以上
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/27 14:41
2017/06/27 15:11
2017/06/30 12:48