java.net.InetAddress
を変換したいと思います。私は署名付き/署名なしの問題で戦います。このような痛み。java.net.InetAddressをlongに変換する
私はconvert from short to byte and viceversa in JavaとWhy byte b = (byte) 0xFF is equals to integer -1?
を読み、結果として思い付いた:
final byte [] pumpeIPAddressRaw =
java.net.InetAddress.getByName (pumpeIPAddressName).getAddress();
final long pumpeIPAddress =
((pumpeIPAddressRaw [0] & 0xFF) << (3*8)) +
((pumpeIPAddressRaw [1] & 0xFF) << (2*8)) +
((pumpeIPAddressRaw [2] & 0xFF) << (1*8)) +
(pumpeIPAddressRaw [3] & 0xFF);
android.util.Log.i (
Application.TAG, "LOG00120: Setzte Pumpen Addresse : " +
pumpeIPAddress + ":" + pumpeIPPort);
し、ログはまだ示して何を推測:
04-10 13:12:07.398 I/ch.XXXX.remote.Application(24452): LOG00120: Setzte Pumpen Addresse : -1063035647:27015
誰もが、私はまだだ何を知っています間違っている?
歓迎するstackoverflow!これをより良い質問にするには、単にコードを投稿するのではなく、これがどのように問題に対処するのかについてもっと説明できるでしょうか?ありがとう! –