跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • Python3 本地建立 websocket 服务器,本地访问正常,手机访问异常,请问可能是什么原因导致?
未分類
18 4 月 2020

Python3 本地建立 websocket 服务器,本地访问正常,手机访问异常,请问可能是什么原因导致?

Python3 本地建立 websocket 服务器,本地访问正常,手机访问异常,请问可能是什么原因导致?

資深大佬 : black11black 62

大家好,我今天在本地做一些尝试,想把网页输入框的内容用 ws 实时推流回服务器

后台框架 aiohttp 前端用 jquery 简单梭了一个功能测试,很高兴功能一切正常

本地测试完成后,想测一下其他设备访问, 连接路由器,开放防火墙等等一系列操作以后,网页能加载成功,但 ws 连接失败, 本菜鸡比较懵逼,请问这可能是什么原因导致的? 有没有高手指点一下,谢谢!

=======================================================================

#目录结构

/testpath    main.py    /templates        hello.html 

非常简单的小 demo,前后端代码分别如下: Python3 本地建立 websocket 服务器,本地访问正常,手机访问异常,请问可能是什么原因导致? Python3 本地建立 websocket 服务器,本地访问正常,手机访问异常,请问可能是什么原因导致?

本地测试 127.0.0.1:8080,一切功能正常 使用其他电脑连接本地 192.168.0.101 提示 wserror,疯狂异常弹窗 到底咋回事?

Python3 本地建立 websocket 服务器,本地访问正常,手机访问异常,请问可能是什么原因导致?

======================================================================= 附带文字代码

import asyncio ,os ,aiohttp_jinja2 ,jinja2 ,aiohttp.web  @aiohttp_jinja2.template('hello2.html') async def testhandle(request):     return       async def websocket_handler(request):     print('Websocket connection starting')     ws = aiohttp.web.WebSocketResponse()     await ws.prepare(request)     print('Websocket connection ready')      async for msg in ws:         if msg.type == aiohttp.WSMsgType.TEXT:             print(repr(msg.data))      print('Websocket connection closed')     return ws  def main():     loop = asyncio.get_event_loop()     app = aiohttp.web.Application(loop=loop)     aiohttp_jinja2.setup(app, loader=jinja2.FileSystemLoader('./templates'))     app.router.add_route('GET', '/', testhandle)     app.router.add_route('GET', '/ws', websocket_handler)     aiohttp.web.run_app(app, host='0.0.0.0', port='8080')  if __name__ == '__main__':     main() 

======================================================================

<html> <head> <meta charset="UTF-8"> <title> Web sockets test </title> <script src="http://code.jquery.com/jquery-1.9.1.js" type="text/javascript"></script> <script type="text/javascript">     // ws 部分     ws = new WebSocket("ws://127.0.0.1:8080/ws");      ws.onopen = function(event){alert("已经与服务器建立了连接rn 当前连接状态:"+this.readyState);};     ws.onclose = function(event){alert("已经与服务器断开连接rn 当前连接状态:"+this.readyState);};     ws.onerror = function(event){alert("WebSocket 异常!rn 当前连接状态:"+this.readyState);};     // 有输入时增量上传     var last_length = 0;     var SendData = function(){         var current_length = $("#test").val().length;         ws.send($("#test").val().substring(last_length,current_length));         last_length = current_length;     }     // 监听输入事件     $(document).on("input propertychange",".inp",SendData); </script> </head>  <body>     <textarea id="test" class="inp" placeholder="please input"></textarea> </body></html> 

大佬有話說 (3)

  • 資深大佬 : ysc3839

    你该不会是网页中写死了 127.0.0.1 吧?那自然连不上呀。

  • 資深大佬 : ZavierXu

    @ysc3839 HHH 一针见血啊

  • 主 資深大佬 : black11black

    @ysc3839
    233 感谢感谢

    我自己瞅了半天不知道啥毛病,还奇怪 /都刷出来了 /ws 咋出不来,睁眼瞎

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具