Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中基于web的聊天服务器教程_Python - Fatal编程技术网

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

Python中基于web的聊天服务器教程,python,Python,我正在为一个网络课程做一个家庭作业,我们必须用C/C++或Python构建一个简单的基于web的聊天服务器。我选择Python是因为我认为它是一种更容易实现项目的语言。我们可以使用我们在网络上找到的任何材料,因为它很可能不具备项目所需的所有功能。事实上,教授鼓励我们使用网络上的材料,包括教程。他不是在测试我们编写代码的能力,而是测试我们实现网络代码的能力,以及我们是否完全理解所涉及的过程 该项目必须处理多个客户端,并且必须能够支持多个浏览器、chrome、firefox等。用户需要能够在浏览器中

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

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

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

您可以使用。它是Tornado的python实现,例如,Tornado是一个事件驱动的python web服务器

是一种跨浏览器解决方案,用于实现从web客户端到服务器的套接字/套接字式连接。这将为您提供创建聊天服务器所需的所有工具,因为它支持发布订阅和消息。出于您的目的使用socket.io的好处在于,它尝试了许多传输,以确保新旧浏览器都可以通信:Websocket、Flashsocket、xhr轮询、jsonp、htmlfile。它们的尝试和使用方式在客户端看来都是一样的

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


据我所知,家庭作业是让人们通过
网络
编程亲身体验活动。因此,不妨看看www.twistedmatrix.com,twisted的几个示例用例


.

这一个使用普通套接字编程,
.

这个是基于

对于不使用套接字编程的简单聊天室模拟,下面是一个示例


我知道这是一篇有点老的帖子,但不管怎样:对于如何使用这个
Tornadio
将添加的消息存储到数据库中,您有什么想法?我是否必须合并线程或多处理模块,并拥有多个进程—一个用于聊天,一个用于数据库查询?或者你看到有没有一种更平滑的方法可以做到这一点?@JohnZ:我只想说,让一个工作线程阻塞
队列。get
,当它收到消息时,它会将其添加到数据库中。这样,您就可以从另一个线程向队列中抛出消息,而不会阻塞任何内容。