【原创】python WebsocketServer 开启wss ssl

news/2025/3/25 21:42:57/

废话不说,直接上代码

WebsocketServer服务端

from websocket_server import WebsocketServer
import logging
# Called for every client connecting (after handshake)
def new_client(client, server):print("New client connected and was given id %d" % client['id'])server.send_message_to_all("Hey all, a new client has joined us")# Called for every client disconnecting
def client_left(client, server):print("Client(%d) disconnected" % client['id'])# Called when a client sends a message
def message_received(client, server, message):if len(message) > 200:message = message[:200]+'..'print("Client(%d) said: %s" % (client['id'], message))PORT=9001
server = WebsocketServer("127.0.0.1", port = PORT,loglevel=logging.INFO,key="8886782_马赛克.cc.key", cert="8886782_马赛克.cc.pem")
server.set_fn_new_client(new_client)
server.set_fn_client_left(client_left)
server.set_fn_message_received(message_received)
server.run_forever()

客户端

      ws = new WebSocket("wss://域名.cc:9001/");  //一定要用域名 。域名和证书绑定的一致,切记切记切记切记切记切记切记切记切记切记切记切记切记切记

 

<!DOCTYPE html>
<html>
<head>
<title>svip</title>
<meta charset="utf8"/>
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- 新 Bootstrap 核心 CSS 文件 -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu" crossorigin="anonymous">
<!-- jQuery文件。务必在bootstrap.min.js 之前引入 --><script src="https://fastly.jsdelivr.net/npm/jquery@1.12.4/dist/jquery.min.js" integrity="sha384-nvAa0+6Qg9clwYCGGPpDQLVpLNn0fRaROjHqs13t4Ggj3Ez50XnGQqc/r8MhnRDZ" crossorigin="anonymous"></script>
<!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
<script src="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha384-aJ21OjlMXNL5UyIl/XNwTMqvzeRMZH2w8c5cRVpzpU8Y5bApTppSuUkhZXN0VxHd" crossorigin="anonymous"></script></head><title>Simple client</title><script type="text/javascript">var ws;function init() {// Connect to Web Socketws = new WebSocket("wss://域名.cc:9001/");  //一定要用域名 。域名和证书绑定的一致,切记切记切记切记切记切记切记切记切记切记切记切记切记切记// Set event handlers.ws.onopen = function() {output("onopen");};ws.onmessage = function(e) {// e.data contains received string.output("onmessage: " + e.data);};ws.onclose = function() {output("不好,ws服务不能正常服务");};ws.onerror = function(e) {output("onerror");console.log(e)};}function onSubmit() {var input = document.getElementById("input");// You can send message to the Web Socket using ws.send.ws.send(input.value);output("send: " + input.value );//input.value = "";input.focus();}function onCloseClick() {ws.close();}function output(str) {var log = document.getElementById("log");var escaped = str.replace(/&/, "&amp;").replace(/</, "&lt;").replace(/>/, "&gt;").replace(/"/, "&quot;"); // "log.innerHTML = escaped + "<br>" + log.innerHTML;}</script><script type="text/javascript">
function GetQueryString(name)
{var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");var r = window.location.search.substr(1).match(reg);if(r!=null)return  unescape(r[2]); return null;
}// 调用方法$(document).ready(function(){
var user = $("#password");$("#registerbtn").click(function(){
if(user.val()=="" ){
alert("password不能为空");
$("#password").focus();
return false;
}
//if(!pre.test(user.val())){
//$(".msg").html("<font color='red'>sn必须以英文字母开头,至少10位,至多10位!列如:i4916420fw</font>");
//return false;
//}
$.ajax({
type:"GET",url:"get_v.php",
data:{onusn:$("#input").val()},
beforeSend:function(){$(".unregmsg").html("<img class='img-responsive' src='1.gif'/>查询中...");},
success:function(data){
$(".unregmsg").html(data);
}
});}); }); </script>
</head>
<body onload="init();">
<div class="container-fluid"><form onsubmit="onSubmit(); return false;"><input type="text" class="form-control" id="input" name='input' placeholder="请输入vip播放url地址 https://www.123.com/x/cover/mzc00200111vn5h/h00448eyxxk.html"><input type="submit" value="1."></form><button id="registerbtn">2.</button><div id="log"></div><div class="jumbotron text-center unregmsg img-responsive"></div><script>
//alert(GetQueryString("url"));
$('#input').val(GetQueryString("url"));
</script></div>
</body>
</html>

 

 


http://www.ppmy.cn/news/205645.html

相关文章

荣耀路由器w831刷linux,华为荣耀WS831路由器设置的方法

连接你的华为WS831无线路由器;不要自作聪明。 那么请浏览后面二、重新设置WS831路由器上网部分的内容&#xff0c; (3)、另外&#xff0c;这个涉及到局域网通信原理&#xff0c;按照上诉方式连接路由器后&#xff0c;那么设置上网时的界面是如下面几个步骤所示&#xff0c;如下…

ws2812B+单片机驱动

文章目录 效果呼吸流水跑马随机灯带 WS2812B 驱动数据协议24bit数据结构 程序main.cws.cws.h 待做 效果 呼吸 流水 跑马 随机灯带 WS2812B 驱动 数据协议 采用单线归零码&#xff0c;每个像素点(灯),在接受到自己的24bit数据后&#xff0c;将剩下的数据再处理放大后&#xf…

ws和wss的区别

First WS: WebSocket WSS: WebSocket Secure WS协议和WSS协议两个均是WebSocket协议的SCHEM WebSocket协议是html5的一种通信协议&#xff0c;可以使客户端和服务端双向数据传输更加简单快捷&#xff0c;并且在TCP连接进行一次握手后&#xff0c;就可以持久性连接&#xff0c;…

华为认证WLAN高级工程师 HCIP-WLAN V2.0(中文版)预发布通知

2022-09-23 17:12 尊敬的客户&#xff1a; 非常荣幸地通知您&#xff0c;华为认证HCIP-WLAN V2.0&#xff08;中文版&#xff09;预计将于2022年10月31日正式对外发布。为了帮助您做好学习、培训和考试计划&#xff0c;现进行预发布通知&#xff0c;请您关注。 HCIP-WLAN V1.0…

websocket和http2

websocket和http的区别 http: 连接不持久&#xff0c;服务器不能主动推动内容 websocket&#xff1a; 连接持久&#xff0c;服务器可以主动推送内容 细节&#xff1a; websocket数据格式轻量&#xff0c;性能开销小&#xff0c;数据交换时&#xff0c;包头的字节只有2-10字节&…

W801/W800-wifi-socket开发(一)-UDP

这是目录 一、项目概述二、socket-udp官方SDK梳理1、连接路由器2、连接UDP 三、项目设计四、测试 本文使用环境&#xff1a; 主控&#xff1a;W800-KIT (开发板) 兼容&#xff1a;W800 W801 AIR101 开发环境&#xff1a;CDK SDK&#xff1a;W801/W800的SDK(tls库) 我的联盛德问…

CS131 HW3

Homework 3 该作业涵盖了用于全景拼接的 Harris 角点检测器、RANSAC 和 HOG 描述符。 在本次作业中&#xff0c;我们将从多张图像中检测和匹配关键点以构建单个全景图像。这将涉及几个任务&#xff1a; 1.使用 Harris 角点检测器查找关键点。 2.构建一个描述符来描述图像中的…

ws832设置虚拟服务器,华为路由器ws832怎么设置

支持RIP、OSPF、BGP、IS-IS等单播路由协议和IGMP、PIM、MBGP、MSDP等多播路由协议&#xff0c;支持路由策略以及策略路由&#xff0c;那么你知道华为荣耀路由器ws832怎么设置吗?下面是学习啦小编整理的一些关于华为荣耀路由器ws832设置的相关资料&#xff0c;供你参考。 华为荣…