Hello James,
I just created an panel with 2 listeners on port 10540 and 10541, and button for each listener that simulates the mos message - 10541 listener is collecting the message byte by byte - the 10540 tryes to collect the whole message. So, the 10540 doesnt work for some reason.
<?xml version="1.0" encoding="UTF-8"?><abs contexttype="opengear" gridsize="20" id="_top" keepalive="false">
<meta>
<params>
<param access="1" maxlength="0" name="textinput" oid="textinput" type="STRING" value="<mos><mosID>VTR</mosID><ncsID>INCEPTION</ncsID><messageID>1</messageID><roAck><roID>5180</roID></roAck></mos><mos><mosID>VTR</mosID><ncsID>INCEPTION</ncsID><messageID>1</messageID><roAck><roID>5180</roID></roAck></mos>" widget="multiline-text"/>
<param access="1" maxlength="0" name="textinput2" oid="textinput2" type="STRING" value="" widget="multiline-text"/>
</params>
</meta>
<meta/>
<abs height="898" left="4" scroll="vertical" top="3" width="1316">
<meta>
<context/>
</meta>
<listener autostart="false" blockingpause="true" bottom="840" buttontype="toggle" delimiter="2" delimitertype="fixedlen" left="600" listenport="10540" name="listener 10540" right="580" top="20">
<task tasktype="ogscript">if (event.isMessageEvent())
{
var messageReader = ogscript.createMessageParser(this.getInputStream());
var bytes = messageReader.readByte();
var str = new java.lang.String(bytes, "UTF-16");
params.setValue('textinput2', 0, params.getValue('textinput2', 0) + str); // put data on text entry
}
</task>
</listener>
<listener autostart="false" bottom="840" buttontype="toggle" delimiter="2" delimitertype="fixedlen" id="listener.10541" left="100" listenport="10541" name="listener 10541" right="1060" top="20">
<task tasktype="ogscript">if (event.isMessageEvent())
{
var str = new java.lang.String(event.getBytes(), "UTF-16");
params.setValue('textinput', 0, params.getValue('textinput', 0) + str); // put data on text entry
}</task>
</listener>
<param expand="true" height="540" left="60" oid="textinput" scroll="vertical" top="240" width="340"/>
<button buttontype="push" height="60" left="100" name="message to 10541" top="60" width="140">
<task tasktype="ogscript">rosstalk.sendAsBytes('localhost', 10541,'003c006d006f0073003e003c006d006f007300490044003e005600540052003c002f006d006f007300490044003e003c006e0063007300490044003e0049004e00430045005000540049004f004e003c002f006e0063007300490044003e003c006d00650073007300610067006500490044003e0031003c002f006d00650073007300610067006500490044003e003c0072006f00410063006b003e003c0072006f00490044003e0035003100380030003c002f0072006f00490044003e003c002f0072006f00410063006b003e003c002f006d006f0073003e',null);</task>
</button>
<button buttontype="push" height="100" left="400" name="reset log" top="680" width="100">
<task tasktype="ogscript">params.setValue('textinput', 0, '');
params.setValue('textinput2', 0, '');</task>
</button>
<label height="40" left="80" name="listener1 - byte by byte collection- port 10541" style="txt-align:west;" top="200" width="340"/>
<param expand="true" height="540" left="500" oid="textinput2" top="240" width="340"/>
</abs>
<button buttontype="push" height="60" left="600" name="message to 10540" top="60" width="140">
<task tasktype="ogscript">rosstalk.sendAsBytes('localhost', 10540,'003c006d006f0073003e003c006d006f007300490044003e005600540052003c002f006d006f007300490044003e003c006e0063007300490044003e0049004e00430045005000540049004f004e003c002f006e0063007300490044003e003c006d00650073007300610067006500490044003e0031003c002f006d00650073007300610067006500490044003e003c0072006f00410063006b003e003c0072006f00490044003e0035003100380030003c002f0072006f00490044003e003c002f0072006f00410063006b003e003c002f006d006f0073003e',null);</task>
</button>
<label height="40" left="520" name="listener2 - try to collect whole message- port 10541" style="txt-align:west;" top="200" width="340"/>
</abs>
#DashBoard