From 3efc59444f7dc654df4209744e873bf6664b035a Mon Sep 17 00:00:00 2001 From: GustavoHMDS Date: Tue, 18 Aug 2026 12:53:30 -0300 Subject: [PATCH] impedindo TCP para si mesmo --- pitiupi/src/pitiupi/net/SocketTCP.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pitiupi/src/pitiupi/net/SocketTCP.java b/pitiupi/src/pitiupi/net/SocketTCP.java index a798af6..04b5ac6 100644 --- a/pitiupi/src/pitiupi/net/SocketTCP.java +++ b/pitiupi/src/pitiupi/net/SocketTCP.java @@ -35,6 +35,7 @@ public class SocketTCP extends Thread implements PeerListener { private final ExecutorService connectionExecutor = Executors.newCachedThreadPool(); private final Map connections; private ServerSocket serverSocket; + private InetAddress address; private final MainWindow main; @@ -54,6 +55,7 @@ public class SocketTCP extends Thread implements PeerListener { connections = new ConcurrentHashMap<>(); try { serverSocket = new ServerSocket(main.getPort()); + address = InetAddress.getByName(InetAddress.getLocalHost().getHostAddress()); } catch (IOException ex) { System.out.println("There is no socket connection. Sorry."); System.out.println(ex); @@ -72,10 +74,13 @@ public class SocketTCP extends Thread implements PeerListener { */ public void send(byte[] msg, InetAddress destinationAddress) { try { - TcpConnection connection; + if (destinationAddress.equals(address)) { + throw new IllegalArgumentException("Destination address cannot be the same as the original address."); + } + TcpConnection connec tion; synchronized (connections) { - connection= connections.get(destinationAddress); + connection = connections.get(destinationAddress); if (connection == null || connection.isClosed()) { Socket socket = new Socket(destinationAddress, main.getPort());