I can't understand what is wrong with your app, so I do a little recap, let me know if you see something different from your conf.
My Lightstreamer server is on mone.lightstreamer.com (no it's not on the internet)
This is my Lightstreamer_conf.xml file (obviously is full of not-related-to-this-thread settings):
[syntax="XML"]<?xml version="1.0"?>
<lightstreamer_conf>
<production>
<client_id>XXXXXX</client_id>
<license_path>vivace4.3.license</license_path>
<audit_logs>../audit</audit_logs>
</production>
<https_server name="Lightstreamer HTTPS Server">
<port>443</port>
<keystore>
<keystore_file>myserver.keystore</keystore_file>
<keystore_password>mypassword</keystore_password>
</keystore>
</https_server>
<read_timeout_millis>20000</read_timeout_millis>
<log4j_properties>./lightstreamer_log_conf.xml</log4j_properties>
<collector_millis>2000</collector_millis>
<monitor_provider>
<public>Y</public>
<available_on_all_servers>Y</available_on_all_servers>
</monitor_provider>
<content_length>
<default>5000</default>
</content_length>
<max_still_millis>2000</max_still_millis>
<min_keepalive_millis>1000</min_keepalive_millis>
<session_timeout_millis>30000</session_timeout_millis>
<max_polling_millis>15000</max_polling_millis>
<web_server>
<enabled>Y</enabled>
<flex_crossdomain_enabled>Y</flex_crossdomain_enabled>
<flex_crossdomain_path>crossdomain.xml</flex_crossdomain_path>
<monitor_enabled>N</monitor_enabled>
</web_server>
</lightstreamer_conf>[/syntax]
myserver.keystore is the keystore file shipped with Lightstreamer.
This is my crossdomain.xml file: [syntax="XML"]<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "
http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>[/syntax]
I've placed my application under the pages directory of Lightstreamer.
This is the source code of the application :Smile_Ah: syntax="XML"]<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="
http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init();" viewSourceURL="srcview/index.html">
<mx:TextArea x="10" y="397" width="615" height="81" id="myTextArea"/>
<mx:Script>
<![CDATA[
import com.lightstreamer.as_client.events.NonVisualItemUpdateEvent;
import com.lightstreamer.as_client.events.StatusChangeEvent;
import com.lightstreamer.as_client.NonVisualTable;
import com.lightstreamer.as_client.ConnectionInfo;
import com.lightstreamer.as_client.LSClient;
public var items:Array = new Array("item1","item2","item3","item4","item5","item6","item7","item8","item9","item10");
public var fields:Array = new Array("stock_name","last_price","time","pct_change");
private function init():void {
var client:LSClient = new LSClient();
var cInfo:ConnectionInfo = new ConnectionInfo("mone.lightstreamer.com");
cInfo.setAdapter("STOCKLISTDEMO");
cInfo.setControlPort(443);
cInfo.setPort(443);
cInfo.setProtocol("https");
cInfo.setControlProtocol("https");
cInfo.setUser("TEST_USER");
cInfo.setPassword("TEST_USER");
client.addEventListener(StatusChangeEvent.STATUS_CHANGE,onStatusChange);
addNVT(client);
client.openConnection(cInfo);
}
public function addNVT(client:LSClient):void {
var nonVisualTable:NonVisualTable = new NonVisualTable(items,fields,"MERGE");
nonVisualTable.setSnapshotRequired(true);
nonVisualTable.addEventListener(NonVisualItemUpdateEvent.NON_VISUAL_ITEM_UPDATE,onChange);
client.subscribeTable(nonVisualTable);
}
public function onStatusChange(evt:StatusChangeEvent):void {
myTextArea.text = evt.status;
}
public var lines:uint = 0;
public var updateStr:String;
public var cutAt:uint;
public function onChange(evt:NonVisualItemUpdateEvent):void {
if (lines >= 20) {
cutAt = myTextArea.text.lastIndexOf("||");
myTextArea.text = myTextArea.text.substring(0,cutAt);
} else {
lines++;
}
updateStr = "Item " + evt.item;
updateStr += extractFieldUpdate(evt,"stock_name");
updateStr += extractFieldUpdate(evt,"last_price");
updateStr += extractFieldUpdate(evt,"time");
if (lines > 1) {
updateStr += "||\n";
}
myTextArea.text = flash.utils.getTimer() + ": " + updateStr + myTextArea.text;
}
public function extractFieldUpdate(evt:NonVisualItemUpdateEvent,field:*):String {
if (evt.isFieldChanged(field)) {
return "| field " + field + " changed: " + evt.getFieldValue(field);
} else {
return "";
}
}
]]>
</mx:Script>
</mx:Application>[/syntax]
The adapter is the StockListDemo adapter as shipped with Lightstreamer.
My server version is 3.4.4 build 1362.
I open the application with this url:
https://mone.lightstreamer.com/fl/a.swf
I obviously can see the pushed values.
Can you see any differnces?