OK so what's the problem with this. I tried using MySQL JConnector for Java and people say not to because it can comprise your applet details so then I told them I'd use PHP $_GET method URLs using PHP scripts. They said it would be fine. However, I find two problems with that.
1.) They are slow. It takes at least 4-5 seconds for the URLConnection to happen. Even when I point it to localhost.
2.) It's a lot of code. Maybe I'm just doing it wrong?
Here is what I have -- which works!
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.applet.Applet;
import java.awt.TextArea.*;
import java.util.*;
import java.net.*;
import java.applet.*;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
public class test extends JApplet
{
public JTextArea c;
public void init()
{
c = new JTextArea();
add(c);
c.append("Let's change the level!");
try
{
URL game = new URL("http://localhost/mystikrpg/game.php?act=stats&username=Dan");
URLConnection connection = game.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null)
{
String command = inputLine;
System.out.println(command);
String[] temp = command.split("\\|");
c.append("\nYou're Lvl is: " + temp[1]);
}
in.close();
c.append("\nTrying to update level...");
String newLevel = "777";
URL newGame = new URL("http://localhost/mystikrpg/game.php?act=updateLvl&username=Dan&lvl=" + newLevel);
URLConnection levelConnection = newGame.openConnection();
BufferedReader level_BR = new BufferedReader(new InputStreamReader(levelConnection.getInputStream()));
URL updateLevelURL = new URL("http://localhost/mystikrpg/game.php?act=stats&username=Dan");
URLConnection up_lvl_conn = updateLevelURL.openConnection();
BufferedReader up_lvl_br = new BufferedReader(new InputStreamReader(up_lvl_conn.getInputStream()));
String getLvl;
while ((getLvl = up_lvl_br.readLine()) != null)
{
String[] newLvl = getLvl.split("\\|");
c.append("\nYou're NEW Lvl is: " + newLvl[1]);
// newLvl[1] == newLevel
}
c.append("\nLevel update done!");
level_BR.close();
up_lvl_br.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
and here is the response:
Let's change the level!
You're Lvl is: 123456
Trying to update level...
You're NEW Lvl is: 777
Level update done!
It works but it's slow and bulky - how do I fix this problem?