我需要在我的Python服务器中实现Websocket Handshake。我的python服务器正在使用Twisted进行事件处理。我发现this webpage解释了这个过程,但是当谈到这一点时,我真的很想我。那么如何在下面的服务器代码中实现Websocket握手:(抬起头来,我已经从服务器中取出了所有项目特定的代码,以便于阅读)
import os
from twisted.internet.protocol import Protocol, Factory
from twisted.internet import reactor
class IphoneChat(Protocol):
def connectionMade(self):
#self.transport.write("""connected""")
#self.factory.clients.append(self)
print "A new client has connected"
def connectionLost(self, reason):
for c in self.factory.clients:
if c == self:
self.factory.client.remove(self)
print "client disconnected"
def dataReceived(self, data):
#print "Message Received: ", data
def message(self, message):
self.transport.write(message + '\n')
factory = Factory()
factory.protocol = IphoneChat
factory.clients = []
port = 3000
print "Server started: "
print port
reactor.listenTCP(port, factory)
reactor.run()
答案 0 :(得分:1)
首先,请注意您找到的页面是用于尚未实际包含Twisted的开发中功能的文档。如果不采取您可能不想采取的特殊额外步骤,您将无法使用您在该页面上阅读的任何内容。
接下来,看看http://autobahn.ws/python/,它提供了一个Twisted友好的Python库,用于编写WebSockets客户端。