【原创】python WebsocketServer 开启wss ssl

废话不说,直接上代码

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 Socket
      ws = 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>

 

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三块钱0794

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值