Hur skickar man objekt mellan en applet och en server, via Socket och ServerSocket. Det bästa skulle vara om man kunde köra metoder och funktioner på servern från klienten, och på klienten från servern.
Kan man göra det på nåt sätt?
Typ:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
public class TestServer {
public static void main(String args[]) {
ServerSocket ss = new ServerSocket(666);
Socket s = ss.accept();
s.send(mittObjekt);
...
}
}
public class TestClient extends Applet {
public void init() {
InetAddress i = InetAddress.getByName("1.1.1.1");
Socket s = new Socket(i, 666);
Ett objekt är en intern programstruktur, och kan inte skickas via sockets. Då måste hitta på något sätt att "serialisera" objektet till data som sockets kan skicka. Tack och lov kan Java hjälpa dig me detta, och jag föreslår att du kollar upp Serializable och Externalizable i Java-dokumentationen.
För anropen är det RMI som gäller (Remote Method Invocation). Även det en del av Java.
------------------
/emission If you see someone without a smiley, give them your colon.
Jag har kollat upp lite grejjer vad gäller serializable, men har inte riktigt förstått allt.
Kan jag göra så här:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
public class MinServer {
public static void main(String argv[]) {
ServerSocket ss = new ServerSocket(666);
Mitt mitt = new Mitt(new String("hallå"));
try {
Socket s = ss.accept();
try {
PrintWriter p = new PrintWriter(new BufferedWriter(new OutputStreamReader(s.getOutputStream())), true);
p.println(mitt.writeObject()):
}
}
}
}
class Mitt implements Serializable {
String string;
public Mitt(String s) {
string = s;
}
}
För att skicka nåt till klieten?
Och sedan på klienten ta emot med
readObject(skickatObjekt);
På nåt sätt??