我创建了一个简单的echo服务器,我想用它作为一个简单的web服务器示例。在
到目前为止,我有服务器:
在服务器.py在
from socket import *
import threading
import thread
def handler(clientsock,addr):
while 1:
data = clientsock.recv(BUFSIZ)
if not data:
break
msg = 'echoed:... ' + data
clientsock.send(msg)
clientsock.close()
if __name__=='__main__':
HOST = 'localhost'
PORT = 21567
BUFSIZ = 1024
ADDR = (HOST, PORT)
serversock = socket(AF_INET, SOCK_STREAM)
serversock.bind(ADDR)
serversock.listen(2)
while 1:
print 'waiting for connection...'
clientsock, addr = serversock.accept()
print '...connected from:', addr
thread.start_new_thread(handler, (clientsock, addr))
我想使用websockify
,我发现它可以使用以下方式包装现有程序:
./websockify 2023 -- PROGRAM ARGS
如何使用上述命令运行上一个服务器?当服务器.py正在另一台计算机上运行?如果是。如何修改上述命令?
有人能提供一个简单的HTML5示例来演示client.html
应该是什么样子吗?请记住,我希望能够在不支持原生websocket的浏览器上使用这个示例。我认为websockify可以使用web-socket-js
来实现这一点。在
他们说:It has transparent support for binary data and has automatic fallback to the web-socket-js Flash Websocket shim/polyfill if the browser does not support WebSockets natively
为了与websockify接口,我建议您的客户机HTML/Javascript使用include提供的库/websock.js网站. websock.js API与标准WebSockets稍有不同。在
我刚刚把一个非常simple HTML client page推到了websockify存储库中。在
把你的服务器.py在同一个系统上,您可以像这样运行websockify:
将简单客户端加载到“http://localhost:21567/测试/简单.html". 输入“ws://本地主机:21567“作为websocketuri并点击connect。请注意,换行模式使用重新绑定so你必须建立一个可以移动监听端口的方法,这样websockify就可以为你提供干预。在
您也可以在同一系统上单独运行websockify:
^{pr2}$在这种情况下,您可以浏览到“http://localhost:6080/测试/简单.html并使用“ws://本地主机:6080“作为要连接到的URI。在
如果您想在不同于服务器.py正在运行,则需要更改服务器.py监听公共接口而不仅仅是“本地主机”。一旦你做出改变,如果服务器.py在192.168.1.7上运行,则可以在192.168.1.5上运行websockify,如下所示:
在192.168.1.7发射服务器.py公司名称:
在192.168.1.5上启动websockify并将其指向服务器.py在另一个系统上:
然后浏览到“http://192.168.1.5:6080/测试/简单.html并使用URI“ws://192.168.1.5:6080”。在
或者,如果您只是希望您的服务器成为WebSocket服务器,那么您可以使用websocket.py库没有完整的websockify功能,直接让你的服务器。请参阅websockify中包含的tests/echo.py示例,它是一个简单的WebSocket回送服务器。在
相关问题 更多 >
编程相关推荐