正常に動作するC++サーバー/クライアントアプリケーション(TCP)を作成していますが、接続先のC++サーバーと互換性がなければならないJavaクライアントをすぐに作成する必要があります。
今のところ、サーバーまたはクライアントが文字列(テキスト)を受信すると、文字列の終わりを示す'\0'が見つかるまでビットをループします...
ここに質問があります:C ++ /C++ではなくJava/C ++を介して通信する場合、文字列をそのように処理することは依然として良い習慣ですか?
正常に動作するC++サーバー/クライアントアプリケーション(TCP)を作成していますが、接続先のC++サーバーと互換性がなければならないJavaクライアントをすぐに作成する必要があります。
今のところ、サーバーまたはクライアントが文字列(テキスト)を受信すると、文字列の終わりを示す'\0'が見つかるまでビットをループします...
ここに質問があります:C ++ /C++ではなくJava/C ++を介して通信する場合、文字列をそのように処理することは依然として良い習慣ですか?
読んでおくべきことが1つあります。それはエンコーディングです。基本的に、同じバイトシーケンスはさまざまな方法で解釈できます。C ++またはJavaで物事を渡す限り、物事はそれらの意味に同意しますが、ネット(つまりバイトストリーム)を使用するときは、決心する必要があります。疑わしい場合は、UTF-8について読んで使用してください。
独自のプロトコルをローリングする代わりに、ProtocolBuffersまたはThriftの使用を検討してください。