在华为云上自建聊天平台遇到的坑(开放端口)

Posted hendricks

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在华为云上自建聊天平台遇到的坑(开放端口)相关的知识,希望对你有一定的参考价值。

618的时候买了一台华为云耀云服务器,然后在暑假的时候想要用服务器做一点事情,想到在学校的时候有一个Java实验是实现本地的聊天服务器+聊天客户端,当时做实验的时候觉得好神奇,想着有朝一日要把这个简易的聊天室部署到远程服务器上,现在机会来了。

这个聊天服务器的原理是利用tcp协议(还未系统学习所以可能描述不太准确),服务器监听一个端口,比如本地(127.0.0.1)的6666端口,然后客户端与这个端口的服务器建立通信,之后客户端便不断地接收来自各个客户端的信息,然后再把收到的信息传给每一个客户端,这样就实现了一个聊天室。

把本地的聊天应用部署到服务器只需要获取到服务器的公网地址(这里是ipv4),然后用这个公网地址来替换原代码中的本地地址(localhost)

//Socket s1 = new Socket("127.0.0.1", 6666);
Socket s1 = new Socket("121.37.233.193", 6666);

但是部署到服务器上之后并没有任何效果,本地也显示无法找到远程的主机。

网上这部分资料很少,或许是我不太会搜索的原因,不过好在后来发现原来华为云有一个被成为安全组的管控措施,由它来管控各个各个端口的打开,进出情况。我试了一下放开6666端口,果然成功了。

放开端口的方式如下:

进入华为云服务器的控制台,点击自己服务器的ip地址

技术图片

点击左侧的安全组进入到安全组管理
技术图片

点击配置规则
技术图片

这个时候可以看到上方有入方向规则、出方向规则,如果是做一个聊天平台的话需要把出入的6666端口都打开
技术图片

完成了配置之后就可以愉快地在自己的服务器上配置聊天室了。

相关链接:

Rocket.Chat

起初在网上看到了Rocket.Chat这个开源项目,它只需要拥有一台具有公网ip地址的服务器就可以在上面创建一个聊天服务器。并且配套了相应的网页、手机app、电脑桌面应用,可以说如果想要体验一下自己的聊天应用的话Rocket.Chat是超级方便的选择了

在linux服务器上只需要一行代码就可以搭建好Rocket.Chat

name address
官网 https://rocket.chat/
Github开源地址(内附安装教程) https://github.com/RocketChat/Rocket.Chat

华为云安全组的官方文档

https://support.huaweicloud.com/usermanual-ecs/zh-cn_topic_0140323157.html




以上是关于在华为云上自建聊天平台遇到的坑(开放端口)的主要内容,如果未能解决你的问题,请参考以下文章

Django上自建一个token校验机制

微信公众号开发-遇到的坑

在Windows上自建nfs,性能比较差,这个怎么办?

回归理性,直面低代码

细数本地连阿里云上mysql8遇到的坑

华为云开发者官网首页焕新升级,赋能开发者云上成长