2012-02-23 6 views
1

tcpメッセージを終了するベストプラクティスは何ですか?私は今では自分のカスタム文字列を持っていますが、私は盲目的な運勢の場合、あなたの最終メッセージのchracater(s)/ stringを含むことができるワイヤーに何かを送信することが可能であるということを否定的です。tcpメッセージの終わりのベストプラクティス

SMTPサーバはエンターキーを受け取りますが、テキストの平和が「入」して電線に送信されている場合は、そのような恐怖はありませんか?

私はこれについていくつかのアイデアを得たいと思います。

おかげ

答えて

2

あなたが終了インジケータなどのカスタム文字列を使用している場合は、あなたはこの終了インジケータは、いくつかの文字列エスケープ技術を使用して、メッセージ本文に表示されないことを確認する必要があります。

たとえば、 "\ r \ n"を終了インジケータとして使用している場合は、メッセージ本文の "\ r \ n"を別の形式にする必要があります。

+0

OKそれを解決しますか?だから相手側でそれをすべて捕まえるとき、私は2つの代行を置き換えることによってそれを混乱させるかもしれない。 –

+0

私はその長いショットを知っています...しかし、私は "正しい"方法がここにあるのを理解するために喧嘩しています...メッセージdelimeterのあなたの決定された終わりを願って、十分な? –

+1

これはあなたにとって便利かもしれません。 http://stackoverflow.com/questions/667803/what-is-the-best-algorithm-for-arbitrary-delimiter-escape-character-processing – ciphor

2

メッセージの長さを使い、最初に渡すことはできますか?

たとえば、テキストプロトコルの例を参照してください。here。あなたの問題は、私はどこかのメッセージdelimterの私の終わりを置き換える場合には、文字列の中に発見TISが、その後、私の置換はまた、文字列のどこかにマッチしたかもしれないもの....いくつか熟考した後、一部

An encoded string is a string with the following encoding rules. 
- Characters in the range [0x10 - 0xff] are encoded as itselves. 
- A character in the range [0x00 - 0x0f] is prefixed by 0x01 and 
    shifted by 0x40. For example, 0x03 is encoded as 0x01 0x43. 
関連する問題