Como você faria um programa mensageiro instantâneo para uma base de usuários de sites?

StackOverflow https://stackoverflow.com/questions/1275801

  •  16-09-2019
  •  | 
  •  

Pergunta

Eu tenho um site de rede social semelhante em design a uma comunidade do tipo MySpace/Facebook, estou usando o PHP/MySQL em uma configuração da lâmpada.
Eu sempre quis que possivelmente tenha meu próprio mensageiro instantâneo que iria ao PC de um usuário semelhante ao objetivo que funcionaria

Com meu site, significar uma lista de buddy no programa consistiria em usuários no meu site e também para mostrar a imagem de um usuário ao lado de

O nome e um link para o perfil lá no meu site.

Agora eu sei que isso é possível, mas o que me faria não querer fazer são os recursos do servidor que levaria. Então estou perguntando,

Se você fizesse isso, como você iria fazer isso?

Em que idioma você faria o programa .exe?

De alguma forma, existe um usuário se conectar a outro usuário para que cada mensagem entre eles não esteja atingindo meu MySQL DB?

Quaisquer dicas/conselhos/sugestões são bem -vindos

Foi útil?

Solução

Eu recomendo que você use o XMPP, o protocolo principal do Jabber.

http://xmpp.org/

É um protocolo que muitos sites usam, como o Google Talk.

Você precisará de um banco de dados se quiser manter os logs obviamente. Se for puramente em tempo real, talvez você não precise armazenar mensagens através do banco de dados.

Se você simplesmente deseja um recurso de bate -papo no seu site, basta pesquisar on -line, pois há uma tonelada deles. Se você simplesmente deseja um servidor de bate -papo para todos, basta usar um jabber ou IRC.

Outras dicas

SOAP de codificação (protocolo simples de acesso a objetos) usando Java (e XML) ou qualquer outro idioma é muito mais fácil e mais rápido.

Os bate -papos entre pares com pares têm as mesmas armadilhas que qualquer tipo de sistema P2P e é que praticamente todo mundo está sentado atrás de um firewall de hardware. Praticamente nenhum deles sabe como mudar suas regras de firewall e menos de qualquer maneira.

Você não precisa fazer um servidor de bate -papo atingir seu banco de dados. O protocolo de bate -papo mais simples seria realmente nada mais do que uma espécie de proxy. O cliente A se conecta ao servidor, o cliente B se conecta ao servidor, a mensagem do cliente A é encaminhada para o cliente B. muito rápido, muito simples, pode lidar com muitos clientes (estamos falando de milhares aqui.). Eu recomendaria que você implemente um cache de mensagens limitado (digamos de 5 a 10 mensagens) porque poucas coisas confundem duas pessoas conversando como mensagens aleatórias sendo descartadas. Cache algumas das mensagens, exigem sinalizações de ACK dos clientes para cada mensagem ... etc. etc. etc.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top