python和JS如何进行通信,用什么方法
Admin 2022-09-14 群英技术资讯 521 次浏览
websocket
进行通信。websocket
是socket的封装,省去了通信上的HTTP协议转换上的麻烦.实验以发送html页面上的图片到服务器后端为例子.
服务端接收图片后,开启本地端口为10086的服务,等待前端的连接.服务把前端发的图像url存在本地文件car.bmp.
import asyncio import websockets import urllib.request async def recv_user_msg(websocket): while True: url = await websocket.recv() urllib.request.urlretrieve(url,'car.bmp') await websocket.send('ok') async def run(websocket, path): while True: try: await recv_user_msg(websocket) except websockets.ConnectionClosed: print("ConnectionClosed...", path) break if __name__ == '__main__': print("127.0.0.1:10086 websocket...") asyncio.get_event_loop().run_until_complete(websockets.serve(run, "127.0.0.1", 10086)) asyncio.get_event_loop().run_forever()
缺少module直接pip install安装解决.
pip install websockets
pip install urllib
在页面上嵌入img标签,连接服务端,点击发送图片,图片发送至服务端,并且显示返回结果.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>测试Socket——ws://127.0.0.1:10086</title> </head> <body> <img id = 'img' src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1598273151875&di=2823d5f7c3aa5e075bd785572e3e1561&imgtype=0&src=http%3A%2F%2Fimage.9game.cn%2F2019%2F8%2F8%2F90082743.jpg"/> <button onclick = "send_img()">发送图片</> <script type="text/javascript"> var socket; var ws = new WebSocket("ws://127.0.0.1:10086/test"); socket = ws; ws.onopen = function() { console.log('连接成功'); }; ws.onmessage = function(evt) { var received_msg = evt.data; alert('recv:' + received_msg + ' 发送完成'); }; ws.onclose = function() { s = '断开了连接' alert(s); }; function send_img() { image = document.getElementById('img'); socket.send(image.src); } </script> </body> </html>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了Python中列表(List) 的三种遍历(序号和值)方法小结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2020.3.7准备scrapy,使用anaconda创建一个新的环境,执行“conda create -n scrapyEnv python=3.6”,结果出现了“CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64/current_repodata.json>”。以下是我的解决步骤。
如何用python实现自动翻译工具?很多朋友应该都有遇到过,在查找资料的时候,一些资料都是有大量英文的,那么这对于英文不是很好地朋友来说,阅读就比较困难,因此自动翻译攻击就显得很重要,对这这篇文章就给大家来分析Python 实现自动化翻译和替换的脚本,感兴趣的朋友就接着看吧。
这篇文章主要介绍了Python基础知识方法重写+文件处理+异常处理,这是基础知识分享的第四篇,看到这里了相信大家前几篇都学得还不错吧,下面我们继续巩固Python基础知识,需要的朋友也可以参考一下
这篇文章给大家分享的是python中递归调用栈溢出的问题该怎样解决的方法。小编觉得挺实用的,因此分享给大家做个参考,文中示例代码介绍的非常详细,感兴趣的朋友接下来一起跟随小编看看吧。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008