当我尝试侦听端口时,请求的地址在其上下文中无效
我正在尝试使用网络连接到传感器,传感器的ip在端口3000上是192.168.2.44
;
我的代码:
byte[] byteReadStream = null; // holds the data in byte buffer IPEndPoint ipe = new IPEndPoint(IPAddress.Parse("192.168.2.44"), 3000);//listen on all local addresses and 8888 port TcpListener tcpl = new TcpListener(ipe); while (true) { //infinite loop tcpl.Start(); // block application until data and connection TcpClient tcpc = tcpl.AcceptTcpClient(); byteReadStream = new byte[tcpc.Available]; //allocate space tcpc.GetStream().Read(byteReadStream, 0, tcpc.Available); Console.WriteLine(Encoding.Default.GetString(byteReadStream) + "\n"); }
但是,当我运行此代码时,我收到此错误:
请求的地址在其上下文中无效
使用IPAddress.Any
收听。 这似乎是你的目标:
//listen on all local addresses
您指定的侦听地址由于某种原因无效。 无需指定数字地址。
TcpListener
在本地计算机上的给定端口上侦听来自TCP网络客户端的连接。 也就是说,对于传入连接。 您的代码将充当各种“服务器”。
The requested address is not valid in its context
仅仅意味着您的计算机上的任何网络接口都不使用给定的IP地址。
使用IPAddress.Any
侦听任何IP地址(即网络接口)。
但是,您可能需要连接到传感器 (在端口3000上),而不是相反。
编辑:新的exception只是告诉您有两个应用程序试图侦听相同的接口/端口组合。 你有两个同时运行的实例吗?