我将在前言中说我不熟悉C#,所以请原谅我,如果我错过了我应该拥有的知识。
我一直在尝试构建一个一直运行的程序(只是坐在服务器上),并且每次在特定端口(445)上都有来自特定IP地址(例如,名为192.215.129.28)的发布请求时)我的程序会抓取所发布的内容(应该是一个gziped文件),然后将其保存到运行该程序的网络上的文件夹中。
我目前有代码在mylocal网络上收听请求,但是当我将其更改为IP时我需要收听我
"An unhandled exception of type 'System.Net.HttpListenerException' occurred in System.dll
Additional information: The process cannot access the file because it is being used by another process"pop up in my visual studio.
我正在做的就是改变这一行:
listener.Prefixes.Add("http://127.0.0.1:8000/");
到这一行
listener.Prefixes.Add("http://192.215.129.28:445/");
导致该错误。还不确定如何抓住发布的内容。尽管如此,大多数人都试图解决这个错误,但是为什么知识产权改变会破坏它的原因一直在努力。
以下是完整的功能以防万一:
private void Form1_Load(object sender, EventArgs e)
{
listener = new HttpListener();
listener.Prefixes.Add("http://192.215.129.28:445/");
listener.AuthenticationSchemes = AuthenticationSchemes.Anonymous;
listener.Start();
this.listenThread1 = new Thread(new ParameterizedThreadStart(startlistener));
listenThread1.Start();
}
答案 0 :(得分:1)
尝试使用此
listener.Prefixes.Add("0.0.0.0:445");