C#中这坑爹的tcplistener类怎么用
tcplistener类目前给出了三个构造方法:1,TcpListener(Int32)2,TcpListener(IPEndPoint)3,TcpListener(IP...
tcplistener类目前给出了三个构造方法:
1,TcpListener(Int32)
2,TcpListener(IPEndPoint)
3,TcpListener(IPAddress, Int32)
方法一:最好用,但被标注已过时,杯具了;
方法二:msdn给出的例子如下
IPAddress ipAddress = Dns.Resolve(Dns.GetHostName()).AddressList[0];
IPEndPoint ipLocalEndPoint = new IPEndPoint(ipAddress, 11000);
但DNS类的Resolve方法也被标已过时,还是杯具了
方法三:msdn给出的例子如下
IPAddress ipAddress = Dns.Resolve("localhost").AddressList[0];
TcpListener tcpListener = new TcpListener(ipAddress, 13);
原因如方法二,杯具。。。
网上方法:
IPHostEntry host = Dns.GetHostEntry(hostName);
IPAddress MyIP = host.AddressList[0];
TcpListener listener = new TcpListener(MyIP,13000);
这种方法用个很要命的问题,AddressList中可能有多个,而且在同一台机子上不同时候都可能不一样,其他模块动不动就连不上了。。。。杯悲啊!!
各位大虾,有啥万全的解决方法没,小弟拜谢了!!
没多少财富值了,大家将就下,谢谢了 展开
1,TcpListener(Int32)
2,TcpListener(IPEndPoint)
3,TcpListener(IPAddress, Int32)
方法一:最好用,但被标注已过时,杯具了;
方法二:msdn给出的例子如下
IPAddress ipAddress = Dns.Resolve(Dns.GetHostName()).AddressList[0];
IPEndPoint ipLocalEndPoint = new IPEndPoint(ipAddress, 11000);
但DNS类的Resolve方法也被标已过时,还是杯具了
方法三:msdn给出的例子如下
IPAddress ipAddress = Dns.Resolve("localhost").AddressList[0];
TcpListener tcpListener = new TcpListener(ipAddress, 13);
原因如方法二,杯具。。。
网上方法:
IPHostEntry host = Dns.GetHostEntry(hostName);
IPAddress MyIP = host.AddressList[0];
TcpListener listener = new TcpListener(MyIP,13000);
这种方法用个很要命的问题,AddressList中可能有多个,而且在同一台机子上不同时候都可能不一样,其他模块动不动就连不上了。。。。杯悲啊!!
各位大虾,有啥万全的解决方法没,小弟拜谢了!!
没多少财富值了,大家将就下,谢谢了 展开
展开全部
提示过时你可以直接无视他,该怎么执行还照旧。
IPHostEntry host = Dns.GetHostEntry(hostName);
IPAddress MyIP = host.AddressList[0];
TcpListener listener = new TcpListener(MyIP,13000);
不可以写死吗? 如果只是本机的话你可以直接写127.0.0.1,如果是公网的话,那你必须写死了。
IPHostEntry host = Dns.GetHostEntry(hostName);
IPAddress MyIP = host.AddressList[0];
TcpListener listener = new TcpListener(MyIP,13000);
不可以写死吗? 如果只是本机的话你可以直接写127.0.0.1,如果是公网的话,那你必须写死了。
追问
写127.0.0.1有一个问题,这样开的端口只在本机能访问
现在这东西要在一个机房局域网里用,程序也是一个界面呈现式的,可能在不同电脑上使用,写死也不是办法吧
追答
哦,TcpListener 是服务端用的吧?是监听的,你只需要监听某个端口就可以,不管从你电脑上哪个IP连进来的都可以接受。
如果非要用3,TcpListener(IPAddress, Int32) 的话,你IPAddress可以这样写
IPAddress MyIP = IPAddress.Any;
TcpListener listener = new TcpListener(MyIP,13000);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是一家国内优质海外HTTP代理商,拥有一个庞大的IP资源池,覆盖200多个地区,IP数量大且匿名度高。其优点还包括超高并发、稳定高效、技术服务等特点,同时提供HTTP、HTTPS以及SOCKS5协议支持。此外,Sto...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询