XML Serversocket til flash-clients
Hej alle seje eksperter i Java-kategorienJeg arbejder normalt med Flash og dets actionscript og kender derfor en del til objekt-orienteret programmering.
Jeg bestemt mig for at lære lidt JAVA så jeg kan lave serversockets for så at kunne lave real-time chats osv - med flash klienter...
Jeg er kommet så langt så jeg har lavet en meget simpel serversocket:
import java.io.*;
import java.net.*;
public class test
{
public static void main(String[] arg)
{
try {
ServerSocket værtssokkel = new ServerSocket(8001);
while (true)
{
Socket forbindelse = værtssokkel.accept();
PrintWriter ud = new PrintWriter(forbindelse.getOutputStream());
BufferedReader ind = new BufferedReader(
new InputStreamReader(forbindelse.getInputStream()));
String anmodning = ind.readLine();
System.out.println("Anmodning: "+anmodning);
ud.println(anmodning+'\0');
ud.flush();
forbindelse.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
Socket'en er lavet efter et ekspempel i "Javabogen" (http://javabog.dk)
Har dog ændret lidt i den for at den skal kunne kommunikere med en flash-client - derfor har jeg i udskrivningen til klienten tilføjet et '\0' til anmodningen...
Flash sender et XML-objekt og dette skal bare sendes tilbage - men for at flash's eventHandler kan aktiveres skal den modtagne besked ende med en 0-byte (zero-byte) som vist nok er '\0'.
Indtil viderere har jeg kun kunnet sende beskeder til serveren fra flashen, flashen har ikke kunnet modtage noget. Måske hænger det sammen med at man i flashen er nødt til at lukke forbindelsen før at beskeden bliver sendt - eller også er det server-socket'en der først modtager når der lukkes.
Hvad er der i vejen????
