ws

python实现建立websocket通信

徘徊边缘 提交于 2019-12-19 04:59:25
实现代码如下: #websocket协议通信 import threading import time import websocket def when_message(ws, message): print('/n接收到的消息:' + message) # 当建立连接后,死循环不断输入消息发送给服务器 # 这里需要另起一个线程 def when_open(ws): print('连接成功') def run(): while True: a = input('请输入:') ws.send(a) time.sleep(0.5) if a == 'close': ws.close() break t = threading.Thread(target=run) # t.setDaemon(True) t.start() def when_close(ws): print('连接关闭') if __name__ == '__main__': ws = websocket.WebSocketApp('ws://localhost:9999/', on_message=when_message, on_open=when_open, on_close=when_close) ws.run_forever() 来源: https://www.cnblogs.com/badbadboyyx

websocket

浪子不回头ぞ 提交于 2019-12-19 04:53:45
ws = new WebSocket("ws://127.0.0.1:7272"); ws.onopen = function() { ws . send('{"mode":"say","order_id":"21",type:1,"content":"文字内容","user_id":21}'); }; ws.onmessage = function(e) { console.log("收到服务端的消息:" + e.data); }; 来源: CSDN 作者: 飞鱼计划 链接: https://blog.csdn.net/qq_35669659/article/details/103598066

WebSocket

ぃ、小莉子 提交于 2019-12-16 19:20:04
一 . WebSocket原理   1.1.背景 WebSocket 是基于Http 协议的改进,Http 为无状态协议,基于短连接,需要频繁的发起请求,第二 Http 只能客户端发起请求,服务端无法主动请求。   1.2.相同点 1.都是基于TCP的应用层协议。 2.都使用Request/Response模型进行连接的建立。 3.在连接的建立过程中对错误的处理方式相同,在这个阶段WS可能返回和HTTP相同的返回码。 4.都可以在网络中传输数据。   1.3.不同点 1.WS使用HTTP来建立连接,但是定义了一系列新的header域,这些域在HTTP中并不会使用。 2.WS的连接不能通过中间人来转发,它必须是一个直接连接。 3.WS连接建立之后,通信双方都可以在任何时刻向另一方发送数据。 4.WS连接建立之后,数据的传输使用帧来传递,不再需要Request消息。 5.WS的数据帧有序。 6.WebSocket 分为握手和数据传输   1.4.WebSocket的握手 客户端的握手如下: GET /chat HTTP/1.1 Host: server.example.com Upgrade: websocket Connection: Upgrade Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ== Origin: http://example

webSocket使用记录

为君一笑 提交于 2019-12-14 06:34:01
环境 后台服务:laravel+swoole 前端:vue+element 使用websocket 的封装 连接 messageSocket(key, message) { let that = this; let host = location.host; let protocol = "ws"; if (location.protocol == "https:") { protocol = "wss"; } let ws = new WebSocket(`${protocol}://${host}/ws?key=${key}`); (this.timeout = 15000), //心跳检查15秒 ws.onopen = function() { console.log("ws已连接"); // Web Socket 已连接上,使用 send() 方法发送数据 sendMessage.send(message); heartCheck.reset().start(); }; ws.onmessage = function(evt) { heartCheck.reset().start(); }; ws.onerror = function() { reconnectSocket.connect(); }; ws.onclose = function(data) { if

websocket实践小结

坚强是说给别人听的谎言 提交于 2019-12-11 17:53:24
本次在项目中,需要制作一个客服与顾客进行对话的消息界面,所以采用了webSocket进行双方间交流时的数据传递。话不多说直接上代码: // 创建socket function createWebSocket() { const wsUrl = "ws://"; try { ws = new WebSocket(wsUrl); init(); } catch (e) { console.log('catch'); reconnect(); } } var lockReconnect = false; // 避免重复连接的标识 // 重新连接socket function reconnect() { if (lockReconnect) return; lockReconnect = true; var tt tt && clearTimeout(tt); tt = setTimeout(function () { // 没连接上会一直重连,设置延迟避免请求过多 createWebSocket(); lockReconnect = false; }, 4000); } // 初始化socket function init() { ws.onclose = function () { // 连接关闭时触发 console.log('链接关闭'); reconnect(); }; ws

Centos 8安装gateone

烈酒焚心 提交于 2019-12-11 07:25:47
systemctl stop firewalld systemctl disable firewalld sed -i 's/^SELINUX=enforcing\|^SELINUX=permissive/SELINUX=disabled/' /etc/selinux/config shutdown -r now dnf install python2 ln -s /usr/bin/python /usr/bin/python2 wget https://bootstrap.pypa.io/get-pip.py python get-pip.py pip install 'tornado==2.4.1' wget https://github.com/downloads/liftoff/GateOne/gateone-1.1.tar.gz tar zxvf gateone-1.1.tar.gz cd GateOne python setup.py install cd /opt/gateone/ ./gateone.py cp /opt/gateone/server.conf{,.bak} vi /opt/gateone/server.conf # diff /opt/gateone/server.conf{,.bak} 7c7 < port = 50000 --- > port

python实现建立websocket通信

被刻印的时光 ゝ 提交于 2019-12-08 14:01:31
实现代码如下: #websocket协议通信 import threading import time import websocket def when_message(ws, message): print('/n接收到的消息:' + message) # 当建立连接后,死循环不断输入消息发送给服务器 # 这里需要另起一个线程 def when_open(ws): print('连接成功') def run(): while True: a = input('请输入:') ws.send(a) time.sleep(0.5) if a == 'close': ws.close() break t = threading.Thread(target=run) # t.setDaemon(True) t.start() def when_close(ws): print('连接关闭') if __name__ == '__main__': ws = websocket.WebSocketApp('ws://localhost:9999/', on_message=when_message, on_open=when_open, on_close=when_close) ws.run_forever() 来源: https://www.cnblogs.com/badbadboyyx

Xfire simple Webservices to implement and call

久未见 提交于 2019-12-07 21:39:26
1、 易出现 问题 的 地方, Jar 包 缺少 或冲突 XFire使得在JavaEE应用中发布Web服务变得轻而易举。和其他Web服务引擎相比, XFire的配置非常简单,可以非常容易地和Spring集成。 下载地址: http://xfire.codehaus.org/Download 但是jar很容易出错,我试了很久才成功网上虽然很多实例但是照着做也不容易成功主要是jar导致的失败让人很有挫败感,所以在此总结贴出比较多的Jar(有些jar未用到,但是建议保留)。 2、 开发 项目 目录 及 Jars 3、 创建 webservice 借口 package com.boonya.xfire.ws; public interface IUserServices { public String sayHello(String message); } 4、 实现 webservice接口 package com.boonya.xfire.ws; public class UserServicesImpl implements IUserServices { public String sayHello(String message) { System.out.println(message); return message; } } 5、 编写 代理 客户端 测试 类 package

脚本文件开机自启

蹲街弑〆低调 提交于 2019-12-06 21:26:18
方法步骤: 让Windows开机自启动,可以通过一个脚本来实现,如果直接开机启动该脚本会弹出一个黑框,我们希望能后台执行它。 例如我们要开机自启动一个脚本: C:\abc\script.bat 如果直接开机启动该脚本会弹出一个黑框,我们希望能后台执行它。 此时我们需要建一个 .vbs 脚本来后台执行该脚本,脚本内容为: set ws=WScript.CreateObject("WScript.Shell") ws.Run "C:\abc\script.bat",0 如果路径里边包含空格,要用3对双引号括起有空格的路径,2对用来转义空格,1对用来表示数据类型为字符串。脚本内容如下: set ws=WScript.CreateObject("WScript.Shell") ws.Run """C:\abc\script.bat""",0 然后将该文件保存为 script.vbs ,放入 开始 > 所有程序 > 启动 内即可。 未完 ...... 点击访问原文 (进入后根据右侧标签,快速定位到本文) 来源: https://www.cnblogs.com/sinicheveen/p/11997850.html

python websocket 发送 sensor 数据

早过忘川 提交于 2019-12-06 08:25:19
搞了几天,顺便把代码贴这里,需要的 python 包: gevent,gevent-websocket,bottle,wiringpi-python gevent 提供了支持 concurrent,以及 concurrent 下的 socket 操作。注意,引入 monkey 后,socket 就是 genvent 封装过的了,不再是系统原生 socket。 连接到 /ws 后,链接为长链接,使用 gevent.Timeout() 提供的 alarm 来周期执行 sensor 读操作,并将读到的数据发送给 client。 默认返回是一个 web client,提供了一个 textarea,将 server 发来的数据显示出来。 from bottle import route, run, request, abort, Bottle, static_file from gevent import monkey; monkey.patch_all() from gevent import sleep, Timeout import wiringpi import serial app = Bottle() host = '0.0.0.0' port = 8080 SensorData = '' fdI2c = wiringpi.wiringPiI2CSetup(0x40) ser =