Pergunta

Eu preciso de ajuda compreender o que a vantagem de usar um quadro asynch é. Suponha que eu queira desenvolver um aplicativo web chat simples. Por que o código não pode python eu escrevo no quadro Django que faz muito tempo de votação, onde eu não enviar um de volta a resposta do servidor até que alguém entra em uma nova msg. O que trançado prever que lhe confere uma vantagem para aplicações em tempo real como o aplicativo de chat?

Desculpe eu estou, obviamente, pouco confuso sobre a necessidade de um quadro assíncrono.

Foi útil?

Solução

servidores assíncronos apoiar um número muito maior de conexões simultâneas de cliente. servidores mais convencionais subir contra fio e limites de processo durante a manutenção grande número de clientes simultâneos, particularmente aqueles com conexões de longa duração. servidores assíncronos também pode fornecer um melhor desempenho como eles evitam as despesas gerais de exemplo troca de contexto fio.

Assim como o quadro Twisted, há também blocos de construção de servidor assíncronos na biblioteca padrão do Python: anteriormente asyncore e asynchat, mas agora também asyncio

.

Outras dicas

Primeiro Django é um framework para escrever aplicações web por isso oferece ORM, html templates, requer a execução de um servidor http etc. trançado ajuda a escrever código nível muito mais baixo do que isso. Você poderia usar torcida para escrever o servidor http Django é executado. Se você usar o Django você está limitado a http modelo, com torcida pode se comunicar em qualquer protocolo que você gosta incluindo protocolos push. Então, por seu exemplo de bate-papo você tem um servidor que escalas melhores, uma vez que pode empurrar comentários a pessoas que tenham acessado VS com Django cada cliente ter que consultar repetidamente.

editada para refletir comentários por: sos-Skyl

A maior vantagem para mim é que torcida me dá uma aplicação que tem estado, e pode se comunicar com muitos clientes diferentes, utilizando vários protocolos.

Para mim, meus comunica servidor torcidas com uma série de sensores instalados em casas e empresas que o uso de energia do monitor. Ele armazena os dados e mantém os dados recentes e estado em classes Python handy-dandy na memória. Pedidos via xmlrpc de Django obter este estado e pode apresentar dados recentes para o usuário. Minhas coisas Gridspy ainda está em desenvolvimento para o site real em your.gridspy.co.nz é um pré-alfa bit.

A melhor parte é que você precisa surpreendentemente pouco código para fazer um servidor eficaz. Uma quantidade surpreendente de que o trabalho é feito para você.

Em torcido você pode implementar protocolos de seu próprio país. Django certamente não pode fazer isso.

Você pode usar cheiro em vez de tanto :). Verificação de saída http://aaron.oirt.rutgers.edu/myapp/gfChat/nucularChatRoom que usa um loop de polling javascript com JSON para verificar para atualizações de servidor. Você provavelmente poderia fazer algo semelhante em Django, mas eu não sei como, porque eu desisti de Django.

btw: eu estou esperando para mover esta demonstração para o Google App Engine como um serviço mais completo quando minha vida se acalma um pouco.

Se você gostaria de olhar para alguma fonte para integrar Torcido e Django, ter um olhar para Yardbird .

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