Compare commits

...

3 commits

Author SHA1 Message Date
Arnaud Vergnet
1d3e56e9b7 Start listening for tcp connections 2020-12-16 12:07:56 +01:00
Arnaud Vergnet
5d85a6061a Make ip to id function static 2020-12-16 12:07:26 +01:00
Arnaud Vergnet
46565951e8 remove logs 2020-12-16 12:06:29 +01:00
5 changed files with 24 additions and 14 deletions

View file

@ -54,9 +54,7 @@ public class ConnectionListener {
try {
server = new ServerSocket(TCP_PORT);
while (!shouldStop) {
System.out.println("Accepting...");
Socket clientSocket = server.accept();
System.out.println("New connection from " + clientSocket.getRemoteSocketAddress());
callback.onNewConnection(clientSocket);
}
} catch (IOException e) {

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

@ -100,9 +100,17 @@ public class MainController implements Initializable {
}
}
private void startListening() {
if (userList != null) {
userList.startDiscoveryListening();
userList.startUserListening((e) ->
Log.e(this.getClass().getSimpleName(), "Error listening to users", e));
}
}
private void startChat() {
discoverActiveUsers();
userList.startDiscoveryListening();
startListening();
Platform.runLater(this::showChat);
}

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);