public static synchronized String[] pollServer(String ip, int port)
    {
        Socket soc = null;
        DataInputStream dis = null;
        DataOutputStream dos = null;
        try
        {
            soc = new Socket();
            soc.setSoTimeout(3000);
            soc.setTcpNoDelay(true);
            soc.setTrafficClass(18);
            soc.connect(new InetSocketAddress(ip, port), 3000);
            dis = new DataInputStream(soc.getInputStream());
            dos = new DataOutputStream(soc.getOutputStream());
            dos.write(254);

            if (dis.read() != 255)
            {
                throw new IOException("Bad message");
            }

            return readString(dis, 256).split("§");
        } catch (Exception e)
        {
            return new String[] { null, null, null };
        } finally
        {
            try { dis.close();  } catch (Exception e) {}
            try { dos.close();  } catch (Exception e) {}
            try { soc.close();  } catch (Exception e) {}
        }
    }