首页 > 解决方案 > C# 中的端口转发 TCP 侦听器服务器

问题描述

我正在服务器应用程序(在 c# 中实现)和客户端(在 Android 手机中实现)之间创建一个 tcp 侦听器。

我实现了代码,它在 tp 4 设备上运行良好。C# tcp 侦听器正在为每个连接的 tcp 客户端打开一个新线程。我可以从 Android 手机获取消息。我的问题是我使用 ipv4 打开服务器监听器。这意味着我的手机应该连接到相同的 wifi 连接以访问 pc ip。我不想要这个,因为我的应用程序将在没有 wifi 的情况下使用,android 手机将使用 3g/4g 连接,服务器将是一台可以连接到 wifi 或其他方法(电话、局域网等)的笔记本电脑。当我尝试使用外部 ip 打开侦听器连接时,出现错误)。我能做些什么??我读了很多关于将 ip 从路由器转发到本地 pc 的内容,但这并不相关。我的代码正在使用本地 ip 和路由器。我不想依赖 wifi。如果我的电脑连接到互联网,它有自己的 ip,所以我可以通过某种方式访问​​它。

标签: c#tcptcplistener

解决方案


我使用家庭路由器的端口转发来访问我的本地电脑。在 TCP 客户端上,我介绍了路由器 IP 和特定端口。在路由器上,我使用端口转发将来自应用程序端口的信息传递到 PC 本地 IP。但是,如果我带着笔记本电脑在外面,我可以将带有 Wifi 的笔记本电脑连接到手机的互联网并连接到它吗?我的电脑有他自己的外部 IP 或者我需要一个 nat 在电话上?


推荐阅读