关于我的小项目(使用教程)

前引

最近花费了六七周写了一个“小”项目,经过长时间的调试、完善,终于出品啦!(写代码过程中为了使用某工具而花了我12大洋,赔钱!
花了我12大洋

操作教程

1.登录我的网站。(网站任何浏览器都能访问,包括手机平板! )界面如下:
网站界面
在四个框里输入暗号才能进入。注意注意!!!一定要输入正确,一个字都不能差!(比如它不能写成他)每一句后面不用标点符号! 输入完点击完成即可。

输入完会自动跳到聊天界面。界面如下:
聊天界面
如果服务器连接成功,会提示 (可以开始聊天了) 的字样。
想发消息在输入框里输入文字,按enter或者发送都可以(这不用我教了吧) 自己发的是蓝色,别人发的是灰色。例如:
聊天界面
这样我们两个就可以很方便地聊天啦!

常见问题

1.出现 Tunnel ljhchat.nat300.top not found 的字样是怎么回事?
出现Tunnel ljhchat.nat300.top not found字样
答:这是因为我这边的服务器没启动,我有时间才会启动,用手表或微信即可。

2.是不是只用登录一次?
答:不是的。本站的session会话经过调整,浏览器关闭后会话自动过期,要重新输入暗号。不过输入多了,edge会有自动提示,很方便。

3.聊天框里没有出现 (可以开始聊天了) 的字样怎么办?
连接失败
这就证明我这边出了一点问题,导致连接失败。直接问我就可以了,我会检查连接。注意:连接失败是无法聊天的,你发什么都无效。

项目实现原理(你可以不看,看不懂)

  • 使用Python的Django框架进行编写,中途使用websocket建立聊天连接。
  • 使用cpolar建立tcp隧道,供服务器和客户端共享聊天数据。
  • 使用natapp进行内网穿透 (就是这里花了我12大洋!) 。ngrok那么好用,固定一个域名又不用钱,为什么不用呢?——其实我刚开始也是想用的,但是当我测试时发现了一个致命的错误!
    致命错误
    我一看就知道了,这是因为ngrok分配的域名固定是https协议的,但是我websocket用的是ws协议(不安全,安全的要用wss),浏览器认为不安全,就拦截了连接。
    我问了chatgpt,它说只能用wss协议(也就是要加密),而加密要用到密钥和安全证书。怎么生成呢?我就用openssl生成了自签名证书。
    但是,让我更无语的来了!因为自签名证书没有CA签名,浏览器认为不安全,再次拦截了连接!!!我真的气趋势了。
    要解决,要不就搞一个有正规签名的证书,要不就禁用浏览器的证书检查,再要不就直接把域名换成http协议的。
    我选择了第二种,因为第一种太难弄了,我上哪去弄?我也试了win-acme和certbot,但是都太难用了,win-acme不会配置而报错,certbot也一样。
    要禁用浏览器的证书检查,好像只有谷歌浏览器能用。在快捷方式的目标中加上–ignore-certificate-errors标记即可。但是适用性很差,edge、Safari等主流浏览器都不支持,显然只是权宜之计。我真的气趋势了!
    最后的最后,我放弃了ngrok,转为使用natapp。这篇博客救了我(我还是挨个试才找到最适合的工具的,耗费了大量时间),为了弄一个固定域名还花了12大洋,你也看到了。

最后的最后,祝你使用愉快!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值