Java сетевое программирование объектов InetAddress - PullRequest
0 голосов
/ 24 марта 2012

Я создаю приложение чата с использованием программирования сокетов Java.Я хочу запустить его в своей локальной сети, что означает, что моему приложению не требуется интернет для запуска.Я протестировал приложение на своем компьютере, используя метод

InetAddress.getLocalHost();

для создания объекта Inetaddress моего IP-адреса.Теперь проблема возникает, когда я хочу создать этот объект с другим IP-адресом в локальной сети.

После некоторых экспериментов я узнал, что есть другая функция Inetaddress.getbyAddress(byte[]);

, котораяпринимает байтовый массив в качестве аргумента IP-адреса.Теперь, если я хочу создать InetAddress объект с IP-адресом, скажем 192.168.234.190, я не могу ..., поскольку. байтовый массив содержит только значения до 127 !!

что делать?

заранее спасибо ...

1 Ответ

2 голосов
/ 24 марта 2012

Вы можете использовать InetAddress.getByName("192.168.234.190"); или если вы действительно хотите использовать getByAdress:

InetAddress.getByAddress(new byte[]{(byte)192,(byte)168,(byte)234,1});

IP может храниться так:

byte IP[]= new byte[]{(byte)192,(byte)168,(byte)234,1});

Теперь у вас есть IP-адрес в массиве байтов с именем IP, и вы можете звонить несколько раз InetAddress.getByAddress(IP);

...