Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- code:
- public static void main(String[] args) {
- String serverinfo = getInfo(27950, "192.246.40.60", 27950, "getservers 84");
- System.out.println("output: " + serverinfo);
- String[] split = serverinfo.split("\\\\");
- for (int i = 0; i < split.length; i++) {
- System.out.println(split[i]);
- }
- }
- public static String getInfo(int localPort, String ipStr, int port, String request) {
- StringBuffer recStr = new StringBuffer();
- DatagramSocket socket = null;
- try {
- if (localPort == 0) {
- socket = new DatagramSocket();
- } else {
- socket = new DatagramSocket(localPort);
- }
- // default packet size
- int packetSize = 12288;
- InetAddress address = InetAddress.getByName(ipStr);
- InetAddress inet = InetAddress.getByName(ipStr);
- socket.connect(address, port);
- System.out.println("socket.isConnected(): " + socket.isConnected());
- DatagramPacket out = getDatagramPacket(request, inet, port);
- socket.send(out);
- byte[] data = new byte[packetSize];
- DatagramPacket inPacket = new DatagramPacket(data, packetSize);
- socket.setSoTimeout(2000);
- // get the response
- socket.receive(inPacket);
- System.out.println("Raw Packet: " + inPacket.getData());
- recStr = new StringBuffer(new String(inPacket.getData(), 0, inPacket.getLength(), "ISO-8859-1"));
- } catch (Exception ex) {
- recStr = new StringBuffer("");
- } finally {
- if (socket != null) {
- socket.close();
- }
- }
- return recStr.toString();
- }
- public static DatagramPacket getDatagramPacket(String request, InetAddress inet, int port) {
- byte first = -1;
- byte[] buffer = new byte[1400];
- buffer[0] = first;
- buffer[1] = first;
- buffer[2] = first;
- buffer[3] = first;
- byte[] requestBytes;
- try {
- requestBytes = request.getBytes("ISO-8859-1");
- } catch (Exception e) {
- requestBytes = request.getBytes();
- }
- System.arraycopy(requestBytes, 0, buffer, 4, request.length());
- return new DatagramPacket(buffer, request.length() + 4, inet, port);
- }
- response:
- ÿÿÿÿgetserversResponse\¼(Æm9\UÈâm8\B-þm8\NNm;\N/iDm8\Xdm8\Ã>6iÜ\UÙmN\UÖ$Ñm8\XÆ'âh\Ô_8Ui\Õli\²?)m\q
- 3m8\U
- Á m8\TÈÐÎm8\ÂímB\W`é¼m8\U»Vm8\[yeBm8\²? úm8\SR²mW\N9Ïm8\²? úmN\[fr¸m=\Õl°i \N ê
- m8\Ô_8Sk\Um;\XV|u\[ÆÆm8\^ùi¥\K}íÚ¬\XSVFî\Wá@m4\Õl&iª\L
- ¼,u\Õl¥i\Um:\^Kî4m8\Zäõm8\[y;m8\Õli \Õl¤i\Yϰ 4\PÜÜ*Z\Á!°m8\RvÐÓm8\Õl¥i\=ÒmD\Ô_8Rk:\¼(1mB\Ù£m8\TåamB\Yϰ m8\[yÏ\m=\|f\"m8\N.^Ýi}\ÂAim8\Á~äÓ¾\UÖw\Yî £m8\Õl%i\Um9\X¿Q¢m7\PVRêm8\Õl¥i´\^ùhi\Õl)i¾\R öåmC\Õli\N.I)m8\XV|u4\>2¥ýV\Õl¯iª\PTúÅm8\>qÇ3Ô\_×ð4iº\O 'Ém8\ÙªFm:\S ppjV\NNm8\[Fm8\¢1]«ò\ÕlÇi\N.IF \^Kîm8\R`@mB\XÆKmE\>KØcm8\Õli\Ù¬»zm8\¼("¥m`\Ôlêm8\WvRm`\Ëaþm8\_Óm8\ÔàLm8\ÕliÜ\Á6áÕm8\U
- ÍÒm>\U^mB\Um8\nd\XÆEm8\[yMDm8\>ä×E\N/gCm8\O 6Åaä\Õliú\Ù£×m8\Ù¬»mL\EOT
Advertisement
Add Comment
Please, Sign In to add comment