Msn 7.5 e IB/FB
alguem está tendo algum tipo de problemas com o msn 7.5 e interbase ou firebird? eu tenho um sistema utilizando interbase e quando os usuarios ligam a web cam do msn o interbase perde a conexao com o servidor e se instalar o msn no servidor, as maquinas nao conectao mais. e eu estou tendo esses problemas desde o lancamento dessa ultima versao.
e pelo que eu vi.. quando se fecha o msn 7.5 bruscamente e se o usuario estivesse usando a cam, ai ainda corrompe o protocolo tcp, nenhum host local eh aceito mais. e a maquina nao aceita conexoes e nem conecta em nenhuma por nenhum tipo de servico q utilize hosts.
t+
e pelo que eu vi.. quando se fecha o msn 7.5 bruscamente e se o usuario estivesse usando a cam, ai ainda corrompe o protocolo tcp, nenhum host local eh aceito mais. e a maquina nao aceita conexoes e nem conecta em nenhuma por nenhum tipo de servico q utilize hosts.
t+
Crash
Curtidas 0
Respostas
Afarias
26/10/2005
Uso o 7.5 e não tive nenhum desses problemas na minha estação...
|e se instalar o msn no servidor
isso é uma péssima idéia... instalar programas de chat, p2p, etc... em um servidor... não é bom.
T+
|e se instalar o msn no servidor
isso é uma péssima idéia... instalar programas de chat, p2p, etc... em um servidor... não é bom.
T+
GOSTEI 0
Crash
26/10/2005
eu nao falo do seu uso... eu falo nos clientes... eu tenho um sistema de lan house e os computadores clientes usam mto esse programa... no meu computador tambem nao deu problema nenhum.
E servidores de lan house.. sempre tem esses tipos de programas.
t+
E servidores de lan house.. sempre tem esses tipos de programas.
t+
GOSTEI 0
Weber
26/10/2005
Você trocou a porta do interbase?
GOSTEI 0
Crash
26/10/2005
ainda nao testei.. mais pelo que vi... o msn da um erro no processo svchost.exe e corrompe a estrutura do TCP... provavelmente nao vai funcionar... nenhum tipo de apilcação que dependa desse processo funciona mais... a solução para a corrupcao foi utilizar uma .dll do firebird 2 alpha que nao utiliza esse processo. mas o correto eh descobrir o problema e tentar informar a microsoft para correção. pois ela mesma obriga os seus usarios a atualizarem suas versoes (por causa das propagandas).
GOSTEI 0
Crash
26/10/2005
Outra coisa que notei foi q quando em uma estação rodando meu programa o usuario esta utilizando uma conversao com web cam pelo msn 7.5 o meu sistema trava. Já testei com o msn 7.0, ICQ e Yahoo e nenhum deles apresentam esse problema...
Eu utilizo IBO 4.2 para acessar o servidor Firebird 1.5.
t+
Eu utilizo IBO 4.2 para acessar o servidor Firebird 1.5.
t+
GOSTEI 0
Sanses
26/10/2005
Olá
Tenho um sistema de lan house tb utilizando o FB e msn 7.5 normalmente.
O que ocorria no começo é que configurei o servidor de internet da lan(linux) com firewall(iptables) e por isso o msn não conectava, dizia que estava corrompido e tinha que restaurar, mas o FB nunca deu problemas.
Depois vi que o dono da loja havia feito o download do msn 7.5 de uma fonte não confiável, foi quando resolvi o problema fazendo o download direto do fabricante e abrindo as portas no firewall.
Coicidentemente na mesma época foi encontrado um virus em toda a rede. Após tirar o virus e colocar o msn original, não deu mais problemas.
[]´s
Sanses
Tenho um sistema de lan house tb utilizando o FB e msn 7.5 normalmente.
O que ocorria no começo é que configurei o servidor de internet da lan(linux) com firewall(iptables) e por isso o msn não conectava, dizia que estava corrompido e tinha que restaurar, mas o FB nunca deu problemas.
Depois vi que o dono da loja havia feito o download do msn 7.5 de uma fonte não confiável, foi quando resolvi o problema fazendo o download direto do fabricante e abrindo as portas no firewall.
Coicidentemente na mesma época foi encontrado um virus em toda a rede. Após tirar o virus e colocar o msn original, não deu mais problemas.
[]´s
Sanses
GOSTEI 0
Crash
26/10/2005
o problema eh que todos os terminais se conectao pelo firebird... eu n uso socket pra conecao... e quando algum terminal esta conectado no servidor fb ou ib e se conecta na web cam a conexao com o banco cai...
t+
t+
GOSTEI 0
Sanses
26/10/2005
Vamos tentar eliminar as possíveis causas...
Qual a versão do windows instalada nas máquinas?
Atente para o fato de que se for o windows xp com sp2 há o limite de conexões que no caso é de 10 e quando esse valor é ultrapassado uma conexão realizada que esteja ´parada´ é desfeita para que a nova solicitação seja atendida....Neste caso se a conexão ao banco estiver sem atualizar dados(transferir pacotes) pode ser finalizada pelo windows e substituída por outra.
Interessante achei o fato de não usar sockets. Como voce envia mensagens do servidor para o cliente no caso ?
[]´s
Sanses
Qual a versão do windows instalada nas máquinas?
Atente para o fato de que se for o windows xp com sp2 há o limite de conexões que no caso é de 10 e quando esse valor é ultrapassado uma conexão realizada que esteja ´parada´ é desfeita para que a nova solicitação seja atendida....Neste caso se a conexão ao banco estiver sem atualizar dados(transferir pacotes) pode ser finalizada pelo windows e substituída por outra.
Interessante achei o fato de não usar sockets. Como voce envia mensagens do servidor para o cliente no caso ?
[]´s
Sanses
GOSTEI 0
Crash
26/10/2005
Vamos tentar eliminar as possíveis causas...
Qual a versão do windows instalada nas máquinas?
Atente para o fato de que se for o windows xp com sp2 há o limite de conexões que no caso é de 10 e quando esse valor é ultrapassado uma conexão realizada que esteja ´parada´ é desfeita para que a nova solicitação seja atendida....Neste caso se a conexão ao banco estiver sem atualizar dados(transferir pacotes) pode ser finalizada pelo windows e substituída por outra.
Exatamente o windows xp sp2... e eu nao sabia que soh podiam 10 conexoes. Mais explica direito esse fato do sp2 pra mim. E como solucionar isso.
Interessante achei o fato de não usar sockets. Como voce envia mensagens do servidor para o cliente no caso ?
Para enviar e receber mensagens para os terminais eu utilizo eventos (alertas) do proprio IB/FB. Eu perco um pouco em velocidade mais ganho muito em flexibilidade.
E eu nunca paro de enviar pacotes... os terminais enviam eventos pelo menos de 5 em 5 minutos.
t+
GOSTEI 0
Sanses
26/10/2005
E aew Crash
bom quanto ao problema de limite de conexções, me manda um e-mail que te passo o programa que eu usei para acabar com esse problema junto com algumas dicas de como fazer.
agora eu é que te peço: manda no email algum exemplo pra mim de como voce recebe estas mensagens no banco e trata elas na aplicação. Não sei como fazer isso, estou me aprofundando agora em bd.
se quiser te passo meu esquema de uso de sockets para vc comparar. Está funcionando perfeitamente sem perder conexção.
No aguardo!
Sanses
bom quanto ao problema de limite de conexções, me manda um e-mail que te passo o programa que eu usei para acabar com esse problema junto com algumas dicas de como fazer.
agora eu é que te peço: manda no email algum exemplo pra mim de como voce recebe estas mensagens no banco e trata elas na aplicação. Não sei como fazer isso, estou me aprofundando agora em bd.
se quiser te passo meu esquema de uso de sockets para vc comparar. Está funcionando perfeitamente sem perder conexção.
No aguardo!
Sanses
GOSTEI 0
Crash
26/10/2005
meu email eh belizario@msn.com ou belizario-filho@ig.com.br
Uma versao anterior do meu sistema utiliza Sockets e funcionava perfeito tambem... porem dava muito trabalho a manutencao do sistema (rotinas mto grandes) e chance de erros maiores. Eu decidi utilizar entao os components de acesso direto ao banco de dados derivados de TDataSet. Por exemplo: Qdo o cliente loga na maquina eu simplismente abro uma query SELECT COD_CLI, NOM_CLI, VLR_CRD FROM CLIENTES e sei se ele tem tempo ou nao. Mudo em uma tabela temporaria de maquinas q ele esta logado no terminal e mando um evento pra o servidor pra ele atualizar essa tabela (eh a lista de computadores do sistema servidor). Qdo tb eu adiciono creditos ao cliente eu lanco um evento indicando q o saldo dele se alterou e o programa cliente soh verifica no seu cadastro o credito atual e atualiza. No terminal eu utilizo a paleta IBO pra acessar o banco Firebird... e no servidor o IBX. Na verdade eu prefiro IBX porque tem mto menos codigo e atende perfeitamente pra versao 1.5 do fb (nao pretendo mudar) mais o tratamento de erros do IBX eh mto ruim e eu n posso mostrar msgs de erro no programa cliente, por isso o IBO.
Para enviar e receber eventos pelo IB/FB vc pode utilizar o componente TIBEvents. Esse componente fica esperando um determinado evento (previamente cadastrado) e executa uma rotina qdo recebe. Para enviar vc pode criar um procedimento armazenado (stored procedure) que envia as msgs.
e utilizar essa sp pra enviar a qualquer momento um evento.
Vc tb pode enviar eventos em triggers e views. O q facilita mto. Exemplo: Qdo atualiza o tempo do cliente de uma trigger na tabela de clientes ou de creditos vc pode enviar um evento indicando q os tempos precisam ser atualizados.
Essa tecnica eh mto boa e vc tem mta flexibilidade com os dados. mais o desempenho eh menor do que utilizar envio de informacoes via socket, mas eh uma diferenca imperseptivel para o usuario final. Eu soh me deparei com esse problema das conexoes mesmo. No mais meu sistema esta a todo vapor.
Obrigado
t+
Uma versao anterior do meu sistema utiliza Sockets e funcionava perfeito tambem... porem dava muito trabalho a manutencao do sistema (rotinas mto grandes) e chance de erros maiores. Eu decidi utilizar entao os components de acesso direto ao banco de dados derivados de TDataSet. Por exemplo: Qdo o cliente loga na maquina eu simplismente abro uma query SELECT COD_CLI, NOM_CLI, VLR_CRD FROM CLIENTES e sei se ele tem tempo ou nao. Mudo em uma tabela temporaria de maquinas q ele esta logado no terminal e mando um evento pra o servidor pra ele atualizar essa tabela (eh a lista de computadores do sistema servidor). Qdo tb eu adiciono creditos ao cliente eu lanco um evento indicando q o saldo dele se alterou e o programa cliente soh verifica no seu cadastro o credito atual e atualiza. No terminal eu utilizo a paleta IBO pra acessar o banco Firebird... e no servidor o IBX. Na verdade eu prefiro IBX porque tem mto menos codigo e atende perfeitamente pra versao 1.5 do fb (nao pretendo mudar) mais o tratamento de erros do IBX eh mto ruim e eu n posso mostrar msgs de erro no programa cliente, por isso o IBO.
Para enviar e receber eventos pelo IB/FB vc pode utilizar o componente TIBEvents. Esse componente fica esperando um determinado evento (previamente cadastrado) e executa uma rotina qdo recebe. Para enviar vc pode criar um procedimento armazenado (stored procedure) que envia as msgs.
CREATE PROCEDURE PRC_MSGS ( MSG VARCHAR (10) CHARACTER SET NONE) AS BEGIN POST_EVENT MSG; /*PARAMETRO DA SP*/ POST_EVENT ´MENSAGEM´; /* STRING NORMAL*/ SUSPEND; END
e utilizar essa sp pra enviar a qualquer momento um evento.
Vc tb pode enviar eventos em triggers e views. O q facilita mto. Exemplo: Qdo atualiza o tempo do cliente de uma trigger na tabela de clientes ou de creditos vc pode enviar um evento indicando q os tempos precisam ser atualizados.
Essa tecnica eh mto boa e vc tem mta flexibilidade com os dados. mais o desempenho eh menor do que utilizar envio de informacoes via socket, mas eh uma diferenca imperseptivel para o usuario final. Eu soh me deparei com esse problema das conexoes mesmo. No mais meu sistema esta a todo vapor.
Obrigado
t+
GOSTEI 0
Crash
26/10/2005
Mudo em uma tabela temporaria de maquinas q ele esta logado no terminal
Essa tabela esta no banco de dados tambem.. mais os dados sao atualizados ao inves de incrementados. ^^
soh pra nao ficar ambingua
t+
GOSTEI 0
Sanses
26/10/2005
enviei o que precisa para o seu msn.
caso não resolva o problema, dá um tok que tentaremos outras formas.
[]´s
Sanses
caso não resolva o problema, dá um tok que tentaremos outras formas.
[]´s
Sanses
GOSTEI 0
Crash
26/10/2005
cara... nao eh a qtd de conexoes n... eu aumentei a qtd pra 500 mais msm assim qdo o cliente abre a web cam no msn 7.5 a conexao com o banco de dados do programa cliente cai e o aplicativo trava. Eu estou usando IBO para conexao. Talvez eh alguma configuracao de timeout q eu nao estou sabendo fazer. Ajuda ai.
flw
flw
GOSTEI 0
Martins
26/10/2005
meu email eh belizario@msn.com ou belizario-filho@ig.com.br
Uma versao anterior do meu sistema utiliza Sockets e funcionava perfeito tambem... porem dava muito trabalho a manutencao do sistema (rotinas mto grandes) e chance de erros maiores. Eu decidi utilizar entao os components de acesso direto ao banco de dados derivados de TDataSet. Por exemplo: Qdo o cliente loga na maquina eu simplismente abro uma query SELECT COD_CLI, NOM_CLI, VLR_CRD FROM CLIENTES e sei se ele tem tempo ou nao. Mudo em uma tabela temporaria de maquinas q ele esta logado no terminal e mando um evento pra o servidor pra ele atualizar essa tabela (eh a lista de computadores do sistema servidor). Qdo tb eu adiciono creditos ao cliente eu lanco um evento indicando q o saldo dele se alterou e o programa cliente soh verifica no seu cadastro o credito atual e atualiza. No terminal eu utilizo a paleta IBO pra acessar o banco Firebird... e no servidor o IBX. Na verdade eu prefiro IBX porque tem mto menos codigo e atende perfeitamente pra versao 1.5 do fb (nao pretendo mudar) mais o tratamento de erros do IBX eh mto ruim e eu n posso mostrar msgs de erro no programa cliente, por isso o IBO.
Para enviar e receber eventos pelo IB/FB vc pode utilizar o componente TIBEvents. Esse componente fica esperando um determinado evento (previamente cadastrado) e executa uma rotina qdo recebe. Para enviar vc pode criar um procedimento armazenado (stored procedure) que envia as msgs.
e utilizar essa sp pra enviar a qualquer momento um evento.
Vc tb pode enviar eventos em triggers e views. O q facilita mto. Exemplo: Qdo atualiza o tempo do cliente de uma trigger na tabela de clientes ou de creditos vc pode enviar um evento indicando q os tempos precisam ser atualizados.
Essa tecnica eh mto boa e vc tem mta flexibilidade com os dados. mais o desempenho eh menor do que utilizar envio de informacoes via socket, mas eh uma diferenca imperseptivel para o usuario final. Eu soh me deparei com esse problema das conexoes mesmo. No mais meu sistema esta a todo vapor.
Obrigado
t+
CREATE PROCEDURE PRC_MSGS ( MSG VARCHAR (10) CHARACTER SET NONE) AS BEGIN POST_EVENT MSG; /*PARAMETRO DA SP*/ POST_EVENT ´MENSAGEM´; /* STRING NORMAL*/ SUSPEND; END
Isso aqui é muito interessante, onde posso encontrar material sobre o assunto?
Valew!!!!
GOSTEI 0
Crash
26/10/2005
aki no forum eu n achei mta coisa nao mais eh bem facim... depois vo fazer um tutorial.
t+
t+
GOSTEI 0
Sanses
26/10/2005
E ai Crash
Bem vamos lá. Algumas coisas pra tentar já que acredito que os componentes IBO não tem timeout:
1 - Voce sabe que é possível instalar o protocolo NetBeui no XP né, digo por que alguns problemas de rede se resolvem com ele.
2 - Tente colocar a configuração do servidor firebird com um timeout diferente do padrão que é 3minutos (ConnectionTimeout = 180 segundos na configuração), já que seu sistema usa a conexão de 5 em 5 minutos. Esta configuração é para dar um retorno ao quando uma tentativa de conexão falha, talvez ele possa estar entendendo o longo período de inatividade como falha.
3 - Abra o regedit e navegue até esta chave: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters.
Crie um novo valor ´DWORD´ com o nome ´TcpTimedWaitDelay´ sem aspas e atribua um valor ´em DECIMAL´ de 30(para 300 segundos). Esta chave não é criada na instalação do XP por que ele assume o default que é de 240 segundos, faça a alteração para ficar maior do que o seu tempo de envio: 5 minutos = 300 segundos, coloque 36 = 360 segundos.
Se nenhuma dessas alternativas derem certo e se for só quando o msn é usado, experimente instalar uma versão anterior, a 7.0 nunca deu problemas. Faça isso pra termos certeza se o msn é o culpado ou não.
Qualquer coisa posta ai que vou continuar procurando uma forma de tentar ajudar.
[]´s
Sanses
Bem vamos lá. Algumas coisas pra tentar já que acredito que os componentes IBO não tem timeout:
1 - Voce sabe que é possível instalar o protocolo NetBeui no XP né, digo por que alguns problemas de rede se resolvem com ele.
2 - Tente colocar a configuração do servidor firebird com um timeout diferente do padrão que é 3minutos (ConnectionTimeout = 180 segundos na configuração), já que seu sistema usa a conexão de 5 em 5 minutos. Esta configuração é para dar um retorno ao quando uma tentativa de conexão falha, talvez ele possa estar entendendo o longo período de inatividade como falha.
3 - Abra o regedit e navegue até esta chave: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters.
Crie um novo valor ´DWORD´ com o nome ´TcpTimedWaitDelay´ sem aspas e atribua um valor ´em DECIMAL´ de 30(para 300 segundos). Esta chave não é criada na instalação do XP por que ele assume o default que é de 240 segundos, faça a alteração para ficar maior do que o seu tempo de envio: 5 minutos = 300 segundos, coloque 36 = 360 segundos.
Se nenhuma dessas alternativas derem certo e se for só quando o msn é usado, experimente instalar uma versão anterior, a 7.0 nunca deu problemas. Faça isso pra termos certeza se o msn é o culpado ou não.
Qualquer coisa posta ai que vou continuar procurando uma forma de tentar ajudar.
[]´s
Sanses
GOSTEI 0
Crash
26/10/2005
kra... eu to comecando a achar q eh algum bug do IBO. porque a aplicacao trava qdo isso acontece. E eu gravo todos os erros em um aqruivo de log e nao tem nenhuma msg de erro la... tavlez na hora da desconexao ele trava. Vo dar uma pesquisada na net pra ver se acho alguma coisa.
Vlw e t+
Vlw e t+
GOSTEI 0