No, when XMLSocket data is received, an event is triggered, you create a socket, configure event handlers:
socket = new XMLSocket();
socket.addEventListener(Event.CLOSE, closeHandler, false, 0, true);
socket.addEventListener(Event.CONNECT, connectHandler, false, 0, true);
socket.addEventListener(DataEvent.DATA, dataHandler, false, 0, true);
socket.addEventListener(IOErrorEvent.IO_ERROR, errorHandler, false, 0, true);
socket.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityHandler, false, 0, true);
socket.connect(host, port);
you will get the data in dataHandler:
private function dataHandler(e: DataEvent): void {
var xml: XML = XML(e.data);
...
}
Now you can process XML using whatever you want. Sending is easier, but still you need to consider that you are not connecting right after the connection is called, you need to wait until connectHandler is called before sending the data:
var xml: XML = ...
if (socket.connected) {
socket.send(xml);
}