Changes

Jump to navigation Jump to search
1,953 bytes removed ,  18:46, 5 January 2020
Undo revision 8646 by Amicuchu (talk) Solved thanks to mha
Line 4: Line 4:     
[[User:Filfat|Filfat]] ([[User talk:Filfat|talk]]) 11:27, 13 January 2017 (CST)
 
[[User:Filfat|Filfat]] ([[User talk:Filfat|talk]]) 11:27, 13 January 2017 (CST)
  −
== Websession proposed changes ==
  −
  −
I tried edit the page but ends considered being spam
  −
These are the changes I want do
  −
  −
  −
  −
  −
Next info was tested in 9.0.0
  −
  −
In the js side, there is a method called <code>window.nx.sendMessage(arg)</code> that sends data to the native side, this method returns a boolean indicating if sending was succesful and accepts a string as an argument. The string is encoded like a C null terminated string in the message content. For receive messages from native part, there is a dom event called <code>message</code> which is dispatched when a message arrives. The event can be listened using <code>window.nx.addEventListener("message", callback)</code> being callback a function which first parameter is like a dom event arg and contains a member called <code>data</code> which contains the string decoded from the arrived message
  −
  −
If messages aren't acked by the native part, js side will not longer receive messages. Ack to web applet '''must''' have 4 bytes after the message content or will crash.
  −
  −
==== SessionMessage ====
  −
{| class="wikitable" border="1"
  −
|-
  −
!  Offset
  −
!  Size
  −
!  Description
  −
|-
  −
| 0x0
  −
| 0x10
  −
| [[#SessionMessageHeader]]
  −
|-
  −
| 0x10
  −
| Size from header
  −
| Message content
  −
|-
  −
| After message content
  −
| 0x4 if message is ack, 0x0 otherwise
  −
| Padding
  −
|}
  −
  −
==== SessionMessageHeader ====
  −
{| class="wikitable" border="1"
  −
|-
  −
!  Offset
  −
!  Size
  −
!  Description
  −
|-
  −
| 0x0
  −
| 0x4
  −
| Message ID
  −
|-
  −
| 0x4
  −
| 0x4
  −
| Content size following the header.
  −
|-
  −
| 0x8
  −
| 0x8
  −
| Unused
  −
|}
  −
  −
==== IDs ====
  −
{| class="wikitable" border="1"
  −
|-
  −
!  ID
  −
!  Content size
  −
!  Description
  −
|-
  −
| 0x0
  −
| Arbitrary
  −
| Arbitrary content. Used to communicate with the applet via JsExtensions used by the Js being run by the applet on the current page.
  −
|-
  −
| 0x1000
  −
| 0xc
  −
| Ack. Content: first u32 is the entire storage size of the message being acked, the rest is not used.
  −
|}
  −
  −
  −
[[User:Amicuchu|Amicuchu]] ([[User talk:Amicuchu|talk]]) 16:43, 5 January 2020 (UTC)
 
3

edits

Navigation menu