>>420
警告ですので、実行上問題ありません。
自分の知識では、Socket通信時には、1バイト文字をそのままゼロ拡張で
Stringに変換するDataInputStream.readLine()を使うのが一番便利ですので
そうしてます。

ラップしないでDES鍵を送るには
byte[] keyData = key.getEncoded();
out.write(keyData);
として、
それを受け取るのは
byte[] keyData = new byte[任意のサイズ];
in.read(keyData);
Key key = new SecretKeySpec(keyData, "DES");
としてください。

ただ、盗聴されても問題ないようにデータを暗号化してるのに、その
鍵をそのまま送ってしまうと、全くの無意味になってしまいますが・・・