Make ip to id function static

This commit is contained in:
Arnaud Vergnet 2020-12-16 12:07:26 +01:00
parent 46565951e8
commit 5d85a6061a
3 changed files with 15 additions and 11 deletions

View file

@ -41,4 +41,13 @@ public class NetUtil {
}
return localList;
}
public static int getIdFromIp(InetAddress ipAddr) {
byte[] addr = ipAddr.getAddress();
int id = 0;
for (byte b : addr) {
id = (id << 8) + b;
}
return id;
}
}

View file

@ -9,6 +9,8 @@ import java.util.List;
import java.util.Timer;
import java.util.TimerTask;
import static fr.insa.clavardator.network.NetUtil.getIdFromIp;
public class CurrentUser extends User {
private static CurrentUser instance = null;
@ -31,10 +33,11 @@ public class CurrentUser extends User {
public void init() throws SocketException {
final List<InetAddress> addresses = NetUtil.listAllLocalAddresses();
if (addresses.size() > 0) {
id = addresses.get(0).hashCode();
id = getIdFromIp(addresses.get(0));
} else {
throw new SocketException();
}
setUsername("Moi2");
// TODO place by db username fetching
Timer t = new Timer();
t.schedule(new TimerTask() {

View file

@ -13,6 +13,8 @@ import java.util.HashMap;
import java.util.Map;
import java.util.function.Predicate;
import static fr.insa.clavardator.network.NetUtil.getIdFromIp;
public class UserList {
private final Map<Integer, PeerUser> inactiveUsers = new HashMap<>();
@ -139,16 +141,6 @@ public class UserList {
}
}
private int getIdFromIp(InetAddress ipAddr) {
byte[] addr = ipAddr.getAddress();
int id = 0;
for (byte b : addr) {
id = (id << 8) + b;
}
return id;
}
public void addActiveUsersObserver(UserConnectionCallback connectionCallback, UserDisconnectionCallback disconnectionCallback) {
userConnectionObservers.add(connectionCallback);
userDisconnectionObservers.add(disconnectionCallback);