我是靠谱客的博主 雪白草莓,最近开发中收集的这篇文章主要介绍tcp/ip c++ 即时通讯聊天室(四)实现公网传输,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

正常来讲之前三篇文章都是在讲如何在局域网内进行传输数据,那么我们如果想让数据在公网上传输便需要内网穿透技术。

内网穿透技术原理很简单,借用另一个能连上公网的服务器当作跳板连接你的服务端与公网。(大佬们可以用服务器自己搭建一个穿透端口)我们这里则直接利用网上提供的tcp内网穿透服务来实现我们的这一目的。

这里我们利用Sunny-Ngrok的免费tcp穿透服务(因为是免费的所以速度较慢,有钱的可以选择付费的),但对于此聊天所需要的流量来讲已经足够了。

Multichatroom下载

https://download.csdn.net/download/qq_42662283/12488515

首先我们在sunny-ngrok官网上注册一个账号,直接邮箱注册就行,过程很简单。

在这里插入图片描述
在这里插入图片描述
这里记住一定要选择tcp连接,名称无所谓,连接端口就在10000-11000之内试几个,最近用的人较多,可能要多试几次,然后本地端口就是你的内网地址加上本地端口(之后可以改)

在这里插入图片描述
这是成功之后的样子
接下来下载ngrok的客户端来实现连接
在这里插入图片描述
下载之后有两个文件,打开bat文件,exe在windows下使用不了(可以用cmd打开)

在这里插入图片描述
打开后的界面,输入你的隧道id就可以连接,如果刚注册了隧道可能要等几个小时才能连接

在这里插入图片描述
如果是这样就连接成功了

接下来是具体如何实现

在这里插入图片描述
ping一下转发服务器得到ip地址
在这里插入图片描述
接下来在原先做好的聊天室里输入转发服务器地址和转发端口(注意:不是本地端口)
在这里插入图片描述
在Server里输入的端口则是注册时使用的本地端口

最后附上成功后的结果
在这里插入图片描述
如果没有读我之前的文章这里可以使用以下地址下载聊天室的源码

Multichatroom下载

https://download.csdn.net/download/qq_42662283/12488515

最后

以上就是雪白草莓为你收集整理的tcp/ip c++ 即时通讯聊天室(四)实现公网传输的全部内容,希望文章能够帮你解决tcp/ip c++ 即时通讯聊天室(四)实现公网传输所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(70)

评论列表共有 0 条评论

立即
投稿
返回
顶部