@Override public synchronized void receive(DatagramPacket packet) throws SocksException, IOException { super.receive(packet); datagramPacketHandler.decapsulate(packet); }
@Override public void send(DatagramPacket packet) throws SocksException, IOException { super.send(datagramPacketHandler.encapsulate(packet, new InetSocketAddress (relayServerInetAddress, relayServerPort))); }
@Override public void run() { try { byte[] buffer = new byte[bufferSize]; while (running) { DatagramPacket packet = new DatagramPacket(buffer, buffer.length); server.receive(packet); if (isFromClient(packet)) { datagramPacketHandler.decapsulate(packet); server.send(packet); } else { packet = datagramPacketHandler.encapsulate(packet, new InetSocketAddress(clientAddress, clientPort)); server.send(packet); } } } catch (IOException e) { if (e.getMessage().equalsIgnoreCase("Socket closed") && !running) { logger.debug("UDP relay server stopped"); } else { logger.error(e.getMessage(), e); } } }
@Override public void run() { try { byte[] buffer = new byte[bufferSize]; while (running) { DatagramPacket packet = new DatagramPacket(buffer, buffer.length); server.receive(packet); if (isFromClient(packet)) { datagramPacketHandler.decapsulate(packet); server.send(packet); } else { packet = datagramPacketHandler.encapsulate(packet, new InetSocketAddress(clientAddress, clientPort)); server.send(packet); } } } catch (IOException e) { if (e.getMessage().equalsIgnoreCase("Socket closed") && !running) { logger.debug("UDP relay server stopped"); } else { logger.error(e.getMessage(), e); } } }
@Override public void send(DatagramPacket packet) throws SocksException, IOException { super.send(datagramPacketHandler.encapsulate(packet, new InetSocketAddress (relayServerInetAddress, relayServerPort))); }
@Override public synchronized void receive(DatagramPacket packet) throws SocksException, IOException { super.receive(packet); datagramPacketHandler.decapsulate(packet); }