Skip to content

Farata/amfjs

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

amfjs

AMFJS is an AMF Client JavaScript library

Limited AMF 0

The library does enough AMF 0 to be able to send and receive packet headers.

Basic Example

Here is a AMFJS Ping Pong example:

<!doctype html>
<html>
<head>
    <title>AMFJS</title>
    <script src="amf.js" type="text/javascript"></script>
</head>
<body>
    <script type="text/javascript">
        var amfClient = new amf.Client("amfphp", "http://127.0.0.1/server/gateway.php");
        var p = amfClient.invoke("test", "ping", []);
        
        p.then(
            function(res) {
                console.log(res.data);
            },
            function(err) {
                console.log("ping errror");
            }
        );
    </script>
</body>
</html>

This example loads amf.js, which makes the amf global object available.

var amfClient = amf.Client("amfphp", "http://127.0.0.1/server/gateway.php");

A new AMF Client instance is created, and initialized with the desired destination and endpoint.

var p = amfClient.invoke("test", "ping", []);

p.then(
    function(res) {
        console.log(res.data);
    },
    function(err) {
        console.log("ping errror");
    }
);

Sends and AMF request to the test service, invoking the ping method with no parameters. The invoke method returns a Promise, which is used to handle the response or error.

The PHP service is very simple and looks like this.

<?php
class test
{
    public function ping()
    {
        return 'pong';
    }
}
?>

If the AMF Client has not been assigned a clientId by the server, a flex.messaging.messages.CommandMessage with a CLIENT_PING_OPERATION will be sent to the server first, in order to test connectivity over the current channel to the remote endpoint, and get a clientId assigned.

Framework Integration

  1. EnyoJs plugin

Packages

No packages published

Languages

  • JavaScript 100.0%