是否可以在Python中编写点对点聊天应用程序?
我从业余爱好者的项目角度思考这个问题。两台机器可以直接相互连接而无需服务器吗?我一直想知道这一点,但从未真正看到它在任何地方实现过,所以我认为必须有一个捕获。
PS:我打算学习Twisted,所以如果涉及到它,那将是一个额外的优势!答案 0 :(得分:4)
是。你可以使用Twisted轻松完成这项工作。让其中一个对等体像服务器一样,另一个像客户端一样。事实上,扭曲的教程将帮助你完成大部分工作。
您可能遇到的唯一问题是防火墙。大多数人在SNAT路由器后面运行他们的家用机器,这使得从外部直接连接到它们变得更加困难。你可以通过端口转发解决它。
答案 1 :(得分:3)
是的,每台计算机(只要它们在同一网络上)都可以使用入站和出站POST / GET建立服务器实例。
答案 2 :(得分:0)
我觉得我把我的两个位置放在这里已经太晚了,我不小心偶然发现了这里,因为我也在搜索类似的线路。我认为只使用套接字就可以相当容易地做到这一点,但是如上所述,其中一台机器必须像服务器一样,而另一台机器将连接起来。
我不熟悉twisted,但我确实使用套接字实现了这一点。但是,即使我很想知道如果有多个客户端连接到服务器,您将如何实现peer2peer聊天通信。创建一个聊天室类型的应用程序很容易,但我很难思考如何处理点对点连接。