关于TcpListener在此上下文中,该请求的地址无效

supconan365 2015-01-13 09:21:37
首先本机电脑是通过路由器上网的,现在是想通过动态的外网IP地址来监听本机的8888端口!
本机telnet 127.0.0.1 8888和telnet192.168.1.168 8888都能成功。
现在想通过动态的IP地址121.231.140.106来监听本机的端口,就出现在此上下文中,该请求的地址无效的错误!
因此,我在路由器的转发规则里做了虚拟服务器,把8888端口映射到本机(如图),但是还是会出现同样的错误。
因此想问下,到底该如何做才能通过路由器动态的IP地址来监听本机的端口呢!
...全文
953 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
supconan365 2015-01-13
  • 打赏
  • 举报
回复
引用 3 楼 Z65443344 的回复:
[quote=引用 2 楼 supconan365 的回复:] 监听就是: System.Net.Sockets.TcpListener(System.Net.IPAddress.Parse(Parameters.SP_IP), Parameters.SP_PORT);
TcpListener是用来监听本机的端口是否有TCP连接请求接入,你想指定只监听某一外部IP的请求? 那你这个服务程序到底运行在哪里呢,在外网上吗? 而你所谓监听内网IP,又是要干什么,用内网计算机作为客户端去连接外网的端口吗?[/quote] 程序肯定运行在本机上,监听的也是本机的端口,只是我想通过动态的IP来监听本机的端口,所以肯定得通过路由器来设置转发,所以按照图上做了端口隐射也没有用,所以请教到底该如何处理!
於黾 2015-01-13
  • 打赏
  • 举报
回复
引用 2 楼 supconan365 的回复:
监听就是: System.Net.Sockets.TcpListener(System.Net.IPAddress.Parse(Parameters.SP_IP), Parameters.SP_PORT);
TcpListener是用来监听本机的端口是否有TCP连接请求接入,你想指定只监听某一外部IP的请求? 那你这个服务程序到底运行在哪里呢,在外网上吗? 而你所谓监听内网IP,又是要干什么,用内网计算机作为客户端去连接外网的端口吗?
supconan365 2015-01-13
  • 打赏
  • 举报
回复
监听就是: System.Net.Sockets.TcpListener(System.Net.IPAddress.Parse(Parameters.SP_IP), Parameters.SP_PORT);
於黾 2015-01-13
  • 打赏
  • 举报
回复
先放弃你胡乱发明的"术语",把需求说明白了 所谓监听,是指什么?
tcmakebest 2015-01-13
  • 打赏
  • 举报
回复
TCP服务使用的IP地址只能是ANY或者本机某个IP地址,与外网无关.
kangkang08 2015-01-13
  • 打赏
  • 举报
回复
监听只需要监听本机IP,直接通过路由器做端口映射到本机相应ip和端口就足够了,动态只是路由器外网IP的问题,和你本机是没得任何关系的。

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧