XML-Socket

XMLSocket ist ein von der ActionScript- Sprache implementiertes Protokoll, mit dem ein Adobe Flash-Film über TCP über Sockets kommunizieren kann . Es ermöglicht die Übertragung von Rohtextdaten (Text) oder hierarchischen ( XML , xHTML ). Es wird häufig in Chat- Anwendungen und Multiplayer-Spielen verwendet .

Das Protokoll lautet wie folgt:

Flash-Client

Flash war die erste Technologie, die das XMLSocket-Protokoll auf der Clientseite anbot.

ActionScript 2.0

Der Code zum Anzeigen einer Hello-Welt in ActionScript 2.0 lautet wie folgt:

Der Socket verwendet Port 8463 auf dem lokalen Computer und der Echo- Modus ist aktiv.

var xmlSocket:XMLSocket = new XMLSocket(); xmlSocket.onConnect = function () { xmlSocket.send(new XML("<message><text>Hello, World!</text></message>")); }; xmlSocket.onXML = function (myXML) { trace(myXML.firstChild.childNodes[2].firstChild.nodeValue); xmlSocket.close(); }; xmlSocket.connect("localhost", 8463);

ActionScript 3.0

Unten finden Sie ein Beispiel für eine xmlSocket-Verbindung in ActionScript 3.0:

var xml_s = new XMLSocket(); xml_s.connect(ip, port); xml_s.addEventListener(Event.CONNECT, xmlsocket); xml_s.addEventListener(Event.CLOSE, xmlsocket); xml_s.addEventListener(IOErrorEvent.IO_ERROR, xmlsocket); function xmlsocket(Event):void { switch (Event.type) { case 'ioError' : // Unable to Connect break; case 'connect' : // Connected break; case 'close' : // OnDisconnect break; } }

Silverlight-Client

Silverlight unterstützt die Verwendung von Sockets in seinem Namespace System.Net.Sockets. Das Protokoll ist asynchron und verwendet die Ports 4502 bis 4534. Die Kommunikation kann zwischen einem Client und mehreren Servern ( domänenübergreifender Socket ) erfolgen, sofern eine Datei die Sicherheitsregeln auf dem Primärserver definiert.

Silverlight 1.1 und 2.0

Silverlight verwendet ein XML- basiertes Format , um den Zugriff von Proxy-Domänen auf Ressourcen zu steuern. Darüber hinaus unterstützt Silverlight auch das Adobe Flash- Format für den domänenübergreifenden Zugriff. Silverlight 2 aus Beta 1 bietet außerdem Unterstützung für die Netzwerkkommunikation mithilfe von Sockets über IPv4 und IPv6 . Silverlight 2.0 unterstützt auch die asynchrone Programmierung durch die Verwendung von " Threading  " -Bibliotheken  . Silverlight-Sockets sind jedoch restriktiver. Sie können nur mit dem Host kommunizieren, der die Anwendung ursprünglich gestartet hat, und die Portnummern sind von 4502 auf 4532 beschränkt. Zukünftige Versionen werden dieses Problem beheben. Silverlight-Sockets können nur eine Verbindung herstellen, sie können nicht gehalten werden.

Siehe auch

Zum Thema passende Artikel

Externe Links