Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: 70N1 en 11 Diciembre 2014, 12:15 pm



Título: Evitar el reconectar al cargar la pagina usando fancywebsocket.js .
Publicado por: 70N1 en 11 Diciembre 2014, 12:15 pm
Hola a todos.
Bueno al grano... Me gustaria hacer una red social mediante sockets con fancywebsocket.js.

Aver si me podriais guiar un poco, la cosa es que al hacer un location.href hacia la misma pagina enviando varialbes por get, desconecta el socket y vuelve a conectar.
Como puedo evitar que desconecte?.


index.php

if(){
location.href=index.php?a="asdf"
}


Título: Re: Evitar el reconectar al cargar la pagina usando fancywebsocket.js .
Publicado por: exploiterstack en 11 Diciembre 2014, 12:57 pm
Hola 70N1,

Mira así como mencionas es difícil a ciencia cierta que es lo que te esta pasando en esa pagina, así que pega mas código plis ;).

Pero puedo deducir que lo que estas haciendo en la pagina que crea el socket es establecer un socket en las variables que has especificado, de modo que esas variables antes de utilizarlas las abras inicializado por ejemplo a null y luego crear un socket bajo unas condiciones etc...

Lo que estas pretendiendo es enviar esas variables(socket) a la misma pagina, lo que estas haciendo es establecer de nuevo la variable null. Si es este el caso te aconsejo que la pagina que reciba las variables compruebe si el socket(o el propio socket) esta creado y si lo esta haga el comportamiento que desees. Y todo esto suponiendo que ese es el caso ya no entro si estas haciendo uso de sesiones(variables almacenadas en el atributo name del objeto window ya que las sesiones no existen en js) cookies bla, bla, bla... :laugh:


Como te digo es una suposición ya que con un código tan simplificado como el que pones es muy difícil adivinar que ocurre.

Un saludo!


Título: Re: Evitar el reconectar al cargar la pagina usando fancywebsocket.js .
Publicado por: 70N1 en 11 Diciembre 2014, 13:23 pm
INDEX.PHP

Código:

<?PHP
IF(ISSET($_GET['VARIABLE'])){
ECHO "ENTRO";
}ELSE{

}
?>
<script>
if(!Server){
alert("entro server"); // SIEMPRE ENTRA

         var Server;
            
         Server = new FancyWebSocket('ws://192.168.10.200:9300');
}

$(document).ready(function() {


Server.bind('close', function( data ) {
log( "Disconnected." );
});
                    ..........

                Server.connect();

document.getElementById('BUSCAR').onclick=(function(){

location.href="INDEX.php?VARIABLE=*";

            });

</script>



Cualquier ayuda es bienvenida


Título: Re: Evitar el reconectar al cargar la pagina usando fancywebsocket.js .
Publicado por: T. Collins en 11 Diciembre 2014, 13:40 pm
Si quieres hacer una red social con WebSockets no entiendo para qué cambiar de página, puedes cargar los datos con Ajax. Aquí plantean una solución con WebWorkers:
http://tavendo.com/blog/post/websocket-persistent-connections/ (http://tavendo.com/blog/post/websocket-persistent-connections/)


Título: Re: Evitar el reconectar al cargar la pagina usando fancywebsocket.js .
Publicado por: 70N1 en 11 Diciembre 2014, 13:46 pm
La cosa es que quiero hacer como facebook por ejemplo.
Que la direccion quede algo como http://localhost/maria.alonso.
Vamos... que cree una direccion fija para acceder a un usuario...
No se si me explico bien...


Título: Re: Evitar el reconectar al cargar la pagina usando fancywebsocket.js .
Publicado por: engel lex en 11 Diciembre 2014, 16:17 pm
en los links puedes usar un
Código
  1. <a ... onclick="return:false">

y por listeners detectas el click


Título: Re: Evitar el reconectar al cargar la pagina usando fancywebsocket.js .
Publicado por: 70N1 en 11 Diciembre 2014, 23:34 pm
No entiendo bien...
Si pudieras poner un ejemplo te lo agradeceria.

Lo que quiero es hacer un location.hreff sin perder la conexion con el servidor.
enviar datos por get sin perder la conexion con el servidor.


Título: Re: Evitar el reconectar al cargar la pagina usando fancywebsocket.js .
Publicado por: MinusFour en 12 Diciembre 2014, 00:18 am
No entiendo bien...
Si pudieras poner un ejemplo te lo agradeceria.

Lo que quiero es hacer un location.hreff sin perder la conexion con el servidor.
enviar datos por get sin perder la conexion con el servidor.

Los websockets no persisten atraves de las paginas. Si haces un location.href, tu websocket se cierra.


Título: Re: Evitar el reconectar al cargar la pagina usando fancywebsocket.js .
Publicado por: 70N1 en 12 Diciembre 2014, 00:26 am
De esta forma se puede cargar una pagina dentro de otra y colocar la url la cual se accedera desde las url amigables.


Muchas gracias.


Código
  1. <!doctype html>
  2. <meta charset="utf-8">
  3. <title>Documento sin título</title>
  4. <script type="text/javascript">
  5.  
  6. function Carga(url,id)
  7. {
  8. //Creamos un objeto dependiendo del navegador
  9. var objeto;
  10. if (window.XMLHttpRequest)
  11. {
  12. //Mozilla, Safari, etc
  13. objeto = new XMLHttpRequest();
  14. }
  15. else if (window.ActiveXObject)
  16. {
  17. //Nuestro querido IE
  18. try {
  19. objeto = new ActiveXObject("Msxml2.XMLHTTP");
  20. } catch (e) {
  21. try { //Version mas antigua
  22. objeto = new ActiveXObject("Microsoft.XMLHTTP");
  23. } catch (e) {}
  24. }
  25. }
  26. if (!objeto)
  27. {
  28. alert("No ha sido posible crear un objeto de XMLHttpRequest");
  29. }
  30. //Cuando XMLHttpRequest cambie de estado, ejecutamos esta funcion
  31. objeto.onreadystatechange=function()
  32. {
  33. cargarobjeto(objeto,id)
  34. }
  35. objeto.open('GET', url, true) // indicamos con el método open la url a cargar de manera asíncrona
  36. objeto.send(null) // Enviamos los datos con el metodo send
  37. }
  38.  
  39. function cargarobjeto(objeto, id)
  40. {
  41. if (objeto.readyState == 4) //si se ha cargado completamente
  42. document.getElementById(id).innerHTML=objeto.responseText
  43. else //en caso contrario, mostramos un gif simulando una precarga
  44. document.getElementById(id).innerHTML='<img src="loader.gif" alt="cargando" />'
  45. }
  46.  
  47. </head>
  48.  
  49. <div id="toni">hola</div>
  50. <a href="mari.juana" onClick='Carga("http://192.168.10.200/1.php?variable=*","toni");'><input type="button" id="as"/></a>
  51. </body>
  52. </html>


Título: Re: Evitar el reconectar al cargar la pagina usando fancywebsocket.js .
Publicado por: engel lex en 12 Diciembre 2014, 00:28 am
esa etiquetas GeSHi para publicar tu codigo, modifica los temas con condigo sin etiquetas