Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ktinho

versao php que suporta websocket

Recommended Posts

bom galera a algum tempo eu estou tentando trabalhar com phpwebsocket e eu estou batendo em um problema acho que é a versao do meu php que nao suporta a versao que eu trabalho é 5.2.6 e quando eu abilito a dll php_exif.dll me da uns erro de zend_parametro, mas quando eu ligo o servidor sem abilitar a dll php_exif.dll no php.ini no windows o servidor inicia de boa só que quando eu vou ligar as conexoes tipo meu chat ele envia a mensagem em seguida da erro de socket nao identificado ja testei em varios servidores php diferente e da o mesmo erro queria saber se tem um pacote do apache que ja venha com uma versao do php que suporta websocket.

 

imagem do servidor ligado na porta 12345 : http://img600.imageshack.us/i/imagemb.gif/

 

agora quando enviado a mensagem o servidor da um erro : http://img593.imageshack.us/i/imagem2d.gif/

 

o codigo do projeto esta aqui : http://code.google.com/p/phpwebsocket/

 

comando para execultar o servidor é esse cd\appserv (aaperta enter) depois digite php -q www\caminho da pasta do servidor\server.php (e aperta enter dinoivo). depois entra em localhost e abre o cliente.html e pronto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O primeiro parâmetro de socket_select é o descritor do socket. Veja:

http://php.net/manual/en/function.socket-select.php

 

 

A linha 15 de server.php é:

socket_select($changed,$write=NULL,$except=NULL,NULL);

 

porém $changed é um array e a função espera um resource descritor de socket

 

 

O problema não é suporte a sockets,. O erro está no código mesmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

valew amigao consegui resolver uns dos meus problemas mudei de servidor é um baseado nesse ai só que com mudanças, ele se encontra nesse blog gringo : http://bohuco.net/blog/2010/07/html5-websockets-example/ na realidade ele é em html5 mais da pra usar.

 

agora o problema é um servidor que roda em quase todos os navegadores que nao suporta websocket e trabalha muito bem é um belo projeto para um chat interativo ele se encontra aqui: http://www.spoutserver.com e a demonstraçao aqui: http://www.spoutserver.com/demos/locke/

 

quando coloco as portas e o ip no servidor ele nao da sinais de vida.

 

as fotos do servidor waterspout: http://img263.imageshack.us/i/321t.gif/

 

as soucers do progeto pode ser baixada aqui: http://code.google.com/p/waterspout/downloads/list

Compartilhar este post


Link para o post
Compartilhar em outros sites

você executou apenas o servidor. é normal o servidor ficar "quieto", só esperando um comando do cliente. Isso não quer dizer que há erro

 

Leia a documentação do projeto. Lá deve explica como usar o programa

Compartilhar este post


Link para o post
Compartilhar em outros sites

esse é o grande problema de projetos na internet falta tutoriais e respostas as duvidas como la tem algumas. tipo o tutorial deles é isso:

 

3 Passos Simples

1-Conheça a origem do SVN

2-A partir do nível superior do check-out executar via linha de comando: php server.php

3-Ir para: http://localhost:7777/demos/locke

 

 

se eu tentar abrir o demo com o servidor ligado pelo endereço http://localhost:7777/demos/locke a pagina fica carregando e nao abre e nem feixa fica carregando.

 

parece que tem alguma coisa impedindo a conexao entre o cliente e o servidor desativei o firowall do windows e nada mesma coisa só fica carregando.

 

tem outra coisa ele pede

 

PHP 5.2.1 ou superior (PHP 5.3.x recomendado)

As seguintes extensões devem ser ativadas:

mbstring

soquetes

openssl (necessário somente se você deseja habilitar o SSL)

 

mbstring e sockets estao abilitados mais openssl nao esta abilitado e nao sei nem como faz tentei instalar uma parada de openssl aqui de estragou meu apache todo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

aí o único jeito é debuggar o código.

coloque uns echo's e veja o que está sendo executado

 

 

Uma vez precisei usar sockets num trabalho de redes da faculdade.

tive uns problemas com PHP e acabei usando C e Python. Talvez seja interessante pensar em outra linguagem para o servidor.

Para ser sincero ainda tenho meus preconceitos contra o PHP em desktop. Ele se sai melhor em WEB :P

Compartilhar este post


Link para o post
Compartilhar em outros sites

consegui faser a parte do websocket conectar com o servidor o problema nao esta no servidor e sim no cliente se quiserem colocar como resolvido podem colocar consegui fazer uma conexao cliente servidor trocando uma linha do código que esta assim:

var realtimeComm = function(handlerUrl) {
_rt = this;

_rt.socketConn = undefined;
_rt.urlSocket  = 'ws://' + handlerUrl;
_rt.urlHttp    = parent.location.protocol + '//' + handlerUrl;
_rt.cursor     = get_cookie('waterspout_cursor') || '';
_rt.callbacks  = {};

if (typeof window.WebSocket != 'undefined') {
	_rt.__listenWebSocket('/core/handshake');
}

e coloquei assim:

var realtimeComm = function(handlerUrl) {
_rt = this;

_rt.socketConn = undefined;
_rt.urlSocket  = 'ws://' + handlerUrl;
_rt.urlHttp    = parent.location.protocol + '//' + handlerUrl;
_rt.cursor     = get_cookie('waterspout_cursor') || '';
_rt.callbacks  = {};

if (typeof window.WebSocket != 'undefined') {
	_rt.__listenWebSocket(':8000/core/handshake');
}

entao acho que o erro nao era o servidor php e sim meu arquivo javascript se quiserem feixar ou remover para a area certa podem mover, mesmo que ainda nao consegui fazer a conexao long polling do cliente e servidor mais podem mover.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.