关于TCPListener在远程服务器上监听的问题,高分求解!

神奇的章鱼哥 2009-03-05 05:58:40
本机安装了动态域名解析,
IPAddress ip1 = Dns.GetHostAddresses(txthost.Text.Trim())[0];
_port1=8667;
路由器也做了端口映射,把8667端口映射到本机上了

然后启用监听

private void Listen1()
{
tcpl1 = new TcpListener(ip1, _port1);
tcpl1.Start(); //这句报错
while (true)
{


错误为:在其上下文中,该请求的地址无效

换本地的地址的话没问题

不过因为是动态域名,不可能定死一个IP地址

我就是想客户端远程连接到服务器端,从服务器端返回一个字符串。

局域网没问题,关键是远程连接就报这个错了!

问题很急,高分求解了!
...全文
193 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
神奇的章鱼哥 2009-04-07
  • 打赏
  • 举报
回复
最后一个可以了,谢谢!
guoyichao 2009-03-05
  • 打赏
  • 举报
回复
IPAddress ip1=IPAddress.Any
liumj2001 2009-03-05
  • 打赏
  • 举报
回复
txthost.Text.Trim()

一定要是动态域名地址

如果动态域名是转发机制那样,你是得不到实际地址的。

你PING一下你的动态域名,看看得到的IP是不是你的外网IP。如果是,那无转发机制,如果不是那就是转发的。

把代码改成不计算IP,直接输入IP看看,就可以知道是不是路由设置的问题。再来讨论。
rainfull 2009-03-05
  • 打赏
  • 举报
回复
我的也是一个动态域名,首先将域名换成ip再做.
liao5930 2009-03-05
  • 打赏
  • 举报
回复
只能帮顶。。。。
ylwqhr 2009-03-05
  • 打赏
  • 举报
回复
不懂 帮顶
悔说话的哑巴 2009-03-05
  • 打赏
  • 举报
回复
这个不太懂 帮顶
yulien 2009-03-05
  • 打赏
  • 举报
回复
ding
  • 打赏
  • 举报
回复

IPAddress ip1 = Dns.GetHostAddresses(txthost.Text.Trim())[0]; //不知道你的txthost.text里面填写的是ip还是路由器主机名

110,534

社区成员

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

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

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