Python中基于web的聊天服务器教程

2024-04-24 16:51:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在为一个网络课程做作业,我们必须在C/C++或Python中构建一个简单的基于Web的聊天服务器。我之所以选择Python,是因为我认为用Python实现项目会更容易。我们可以使用在网上找到的任何资料,因为它很可能没有项目所需的所有功能。事实上,教授实际上鼓励我们使用来自网络的材料,包括教程。他不是在测试我们编写代码的能力,而是我们实现网络代码的能力,以及我们是否完全理解所涉及的过程。

项目必须处理多个客户端,并且必须能够支持多个浏览器、chrome、firefox等。用户需要能够在浏览器中键入IP地址和端口以进行连接。我只是找不到任何材料来工作。我在C语言中找到了一点,但在Python中没有找到。

有人知道那里有完整的教程吗?有很多基于客户机/服务器命令的聊天,但没有基于浏览器的聊天。


Tags: 项目代码功能网络服务器web过程浏览器
2条回答

您可以使用TornadIO查看。它是Socket.io的python实现,对于Tornado,Tornado是一个事件驱动的python web服务器。

https://github.com/MrJoes/tornadio2

http://www.tornadoweb.org/

Socket.io是一个跨浏览器解决方案,用于从web客户端到服务器的socket/socket类连接。这将几乎给你所有的工具,你需要做一个聊天服务器,因为它支持发布订阅和消息。为您的目的使用socket.io的好处是,它尝试了许多传输,以确保新旧浏览器都可以通信:Websocket、Flashsocket、xhr polling、jsonp、htmlfile。它们的尝试和使用方式在客户看来都是一样的。

Tornadio2是与较新的Socket.io 0.7+兼容的较新版本。这个版本增加了许多功能,破坏了与0.6的兼容性。但是,原始的TornadIO包含一个聊天室示例,您可以很容易地查看并翻译为较新版本,以便开始使用:

https://github.com/MrJoes/tornadio/tree/master/examples/chatroom

据我所知,所给的家庭作业是让人们通过network编程参与活动。所以可以看看www.twistedmatrix.com,twisted
Chat comet site using python and twisted
http://lists.canonical.org/pipermail/kragen-hacks/2005-April/000409.html
http://code.google.com/p/twisted-chat-example/

这一个使用纯套接字编程http://code.activestate.com/recipes/531824-chat-server-client-using-selectselect/
http://ankurs.com/2008/05/creating-a-simple-chat-application-with-python/

这个是基于gevent

对于不使用socket编程的简单聊天室模拟,下面是示例gummi

sourceforge上的真实用例。

相关问题 更多 >