2011-03-03 11 views
0

私は単純なUDP接続を使用しています。キャリッジリターンを無効にする

デフォルトで接続に「キャリッジリターン」が有効か無効かを知りたいのですが、どうすればそのプロパティを設定できますか?

おかげで、

線。

答えて

2

Eh、これは完全に正確ではありません。 UDPは、テキストとバイナリを送信することによって区別されません。すべてのネットワークプロトコルは最終的にビットストリーム(バイナリ)としてデータを送信します。典型的には、TCPとは異なり、パケットを追跡するためのシーケンス番号を確立するための前後関係はなく、パケットが受信されたことを通知するACKフラグもありません。 UDPは宛先に到達するかどうかに関係なくパケットを送信します。

編集:Ray多分あなたは何をしようとしているかについてもう少し詳細を述べるべきでしょう。キャリッジリターンは他のキャラクターと同様にアスキー文字です。それは数値表現を持ち、他のアスキー文字のように1バイトのスペースを占有します。だから、UDP送信のために "有効"になっているかどうかは本当に有効な質問ではありません。一連のビットは、UDP、TCP、または他のプロトコルを介して送信することができます。つまり、UDPはASCIIの文字、または文字「b」、またはキャリッジリターンを認識しません。それはすべて1と0の束であり、UDPはIPアドレスとポート番号を認識しています。ちょうどあなたのデータをどこかに送るのに十分です。あなたのアプリケーションがそれらのビットで何をするかが問題です。

+0

あなたの説明をお寄せいただきありがとうございます。私はCRが何を意味するのか本当に理解していなかったと思います。私はあなたがオブジェクトに設定するいくつかのプロパティだと思った。通常のウィンドウTELNETプログラムで有効/無効にすることができます。 – rayman

+0

さて、キャリッジリターンが何かのために使用されるのを防ぐことができますが、それはコード化しなければならないアプリケーションレベルのものであり、UDPとは関係ありません。あなたが詳しく説明すると、多分誰かが助けることができますが、あなたの問題は特にJavaであり、ネットワークに関係していないと思います。 – David

1

UDPトラフィックはセッション/コネクションレスです。だからあなたはUDPで "接続"することはできません。

UDPはテキストではなくバイナリデータを渡すために使用され、キャリッジリターンなどの文字を無効にする方法はありません。

+0

"キャリッジリターンを無効にする方法はありません"と言われるので、それはとにかく有効になっていますか? – rayman

+1

有効または無効にするものではありません。 UDPパケットには、特定のバイト値、キャリッジリターンまたはその他のバイト値に対する特別な処理はありません。 –

0

UDPは、バイナリデータを放送する - あなたはバイトに\rおよび/または\nをエンコードし、メッセージに追加した場合、それが送信されます。フィルタリングなし、このプロトコル層での変換なし。