c#SOCKET问题

qq_35093621 2016-06-07 10:53:47
string hostname = Dns.GetHostName(); //得到本机的主机名
IPHostEntry IPHost = Dns.Resolve(hostname);
string[] aliases = IPHost.Aliases;
IPAddress[] addr = IPHost.AddressList;
IPadd.Content = "Your IP is " + addr[0];、、显示IP地址

——————————————————————server————————————
TcpListener listener = new TcpListener(new IPEndPointaddr[0], port+1));、、
listener.Start();


我用这个得到的IP地址,我的每次都可以正常显示正在使用网络的IP地址,如:我使用宿舍网 IP 为 192.168.1.115(私有地址)
使用校园网为 172.20.10.1 我的功能是正确的。
但是在我们同学电脑上,一直显示是 192,168,2,1 无论我们怎么换网,显示的ip 一直都是 192.168.2.1!导致连接不上!!!
...全文
98 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
newnazi 2016-06-08
  • 打赏
  • 举报
回复
楼主你缺少的是基本的网络知识
xuzuning 2016-06-08
  • 打赏
  • 举报
回复
不知道 动态ip 和 静态ip 的区别? 让你同学勾选 DHCP,而不是 总是使用这个ip
tcmakebest 2016-06-08
  • 打赏
  • 举报
回复
服务端通常不需要指定IP
TcpListener listener = new TcpListener(IPAddress.Any, port+1);
  • 打赏
  • 举报
回复
当你纠结 192.168.1.115、 172.20.10.1、192.168.2.1 的时候,你自己要能够画出一张网络拓扑图来,你知道哪里有路由器,有几层路由器,有多少个网段。 如果有些人连自己的网线连到哪里都不知道,那么这些编程者其实在蒙着眼睛胡乱瞎猜呢!你心里就知道他们可能没有出息,很长时间也搞不懂简单的联网。 记住。
  • 打赏
  • 举报
回复
如果你想从最基本的实验做起(自己动手实验),就不要胡乱联网。 你可以买一个50块钱的路由器(带不带RJ45接口都可以,这影响不大),将宿舍的一端接入这个路由器的 WAN 口,然后你们自己的电脑使用双绞线接到 LAN 口,或者使用 WIFI 将你们自己的电脑连到路由器上。 这样,你们所有的电脑都在这个路由器的“后边”,都在同一个网段内。这样再来开始实验。
threenewbee 2016-06-07
  • 打赏
  • 举报
回复
是否是同一个网路,有没有防火墙阻止,ping下看看通不通

110,500

社区成员

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

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

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