私はTCP/IPプロトコルが初めてで、C++でチャット用のサーバーを作成したいと考えています。TCPは印刷できない文字をサポートしていますか?
今のところ私は次のもの(ログイン要求、投稿するメッセージ、クライアントのユーザー名など)を伝える文字ですべての送信を開始することに決めました。
したがって、私は0x01、0x02、...などの値を、ログイン、情報要求、およびメッセージの0x10に関連するものに使用します。
私が作成した別のプログラムで自分のサーバーに接続しようとすると、サーバーから0x01で始まる1つの送信が受信されます(したがって、すべてはまだOKです)。しかし、0x03私はクライアントを殺すとサーバーはそれを受け取るだけです...
何か読んでいるとは言わない選択機能だと思います。
これは正常ですか?
もしそうなら、私はこの値を印刷可能で、特別な意味を持たない値で置き換えるべきですか?
TCPは、印刷可能な文字でないかどうかにかかわらず、0〜255の値を持つため、バイトで処理しています。まったく別のものを選んでください。すべてヘッダー付きの1つのメッセージに入れてください。 –
はい、TCPはバイナリデータに非常に満足しています。クライアントとサーバーの両方の関連セクションを共有してください/ –
@ErikŠťastnýしかし、0-255の値でも動作しますか? – dido22