Xsocket Reconnect is not working

85 views
Skip to first unread message

priya

unread,
Jan 14, 2015, 5:31:18 AM1/14/15
to xsocke...@googlegroups.com
We are using XVA-04-01-Fallback package. By using this fallback project we tried to reconnect the connection when the xsocket is terminate. But the reconnect is not working.
Pls give the need script to implement the reconnect in Xsocket. Here by code we tried for reconnect

Reconnect Sample:

 <script src="/Scripts/jquery-1.9.0.js"></script>
    <script src="/Scripts/knockout-3.2.0.js"></script>

<script type="text/javascript">

        var conn;
        var onlyonce = 0;
        $(function () {
            connect();
        });

            //Setup a subscription for the topic "chatmessage"
       
                 var connect = function () {
                 onlyonce++;
                 conn = new XSockets.WebSocket('ws://127.0.0.1:9090', ['chat']);
                 conn.onconnected = function () {
                   
                     subscribeTo();
                     $("#status").html("socket connected");
                 };
                 conn.ondisconnected = function () {
                   

                      $("#reconnect").append('CLOSED, will reconnect in 5 seconds');
                     $("#reconnect").append("Disconnected");

                      setTimeout(function () {
                         
                         connect();
                     }, 2000);

                     $("#status").html("socket disconnected");
                 };
             };


             var subscribeTo = function () {
                 conn.controller("chat").onopen = function (ci) {
                  
                     $("#status").html("opened");
                 };
                 conn.controller("chat").onclose = function (ci) {
                   
                     $("#status").html("onclose");
                 };

              
                 conn.controller('chat').subscribe('chatmessage', function (data) {
                  
                     $("#status").append(data);
                    
                 });
              
                 //When button is clicked, publish a chat-message
              
                 $("#send").click(function () {
                     var u = document.getElementById('username').value;
                     var m = document.getElementById('message').value;

                 
                     conn.controller('chat').invoke('chatmessage', { username: u, message: m });
                 });
             };
       // });
    </script>

Sathiya Shekhar

unread,
Jun 2, 2015, 5:00:08 AM6/2/15
to xsocke...@googlegroups.com
Please try this following code to reconnect,

<script src="Scripts/XSockets.latest.js"></script>
<script src="js/jquery.min.js"></script>



<script type="text/javascript">

 $(function (){

  connect();
         
 });
 
 var connect = function () {
 
             var conn = new XSockets.WebSocket('ws://64.15.185.237:80', ['chat']);

             conn.autoReconnect(true);
             conn.setAutoReconnect(100);



             conn.onconnected = function () {
 
    document.getElementById("connstatus").value = "Successfully Connected";

                 subscribeTo();

             };

             conn.ondisconnected = function () {

 
   document.getElementById("connstatus").value = "CLOSED, will reconnect in 5 seconds";
                agtconn.autoReconnect(true);
                agtconn.setAutoReconnect(100);

             };

         };
 
 
 
 var subscribeTo = function () {

          

         };

</script>
 
 
 <input id="connstatus" runat="server" type="text" />
 
 
 



Ulf Björklund

unread,
Jun 2, 2015, 5:18:24 AM6/2/15
to xsocke...@googlegroups.com
Hi, just tried this myself and it works as expected.
Having autoreconnect set to 100 MS seems a little bit to fast IMHO

var conn = new XSockets.WebSocket('ws://localhost:4502',['generic']);
//Default autoreconnect (5 sec)
conn.autoReconnect(true);
//Override default autoreconnect setting it to 10 sec, this will also enable the autoreconnect
//conn.setAutoReconnect(10000);
conn.onerror = function(e) {
    console.log('error', e);
};
conn.onconnected = function() {
    console.log('connected');
};
conn.ondisconnected = function() {
    console.log('disconnected');
};
conn.controller('generic').onopen = function() {
    console.log('generic open');
};

You do not have to call both autoreconnect and setautoreconnect... And you only need to do it once... Give my way a try.

I am assuming that you are using XSockets 4.*

Regards
Uffe
Reply all
Reply to author
Forward
0 new messages