我一直在想怎么在局域网内其他设备(手机、电脑)给自己的电脑传输HTTP请求,并且要用 .NET 的 HttpListener 监听到。然后今天终于试出来了,而且和 Windows 防火墙有离不开的关系,我说我以前怎么怎么测试都不行呢。
首先要开一个线程是肯定要的,然后大概是这样
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Dim h AsNew HttpListener, bs() AsByte, s AsString h.AuthenticationSchemes = AuthenticationSchemes.Anonymous Dim port AsString = CStr(8900) h.Prefixes.Add("http://localhost:" + port + "/") '只对本机起作用 h.Prefixes.Add("http://192.168.1.10:" + port + "/") '可以手动获得本机IP然后作为符串填在这里 h.Prefixes.Add("http://*:" + port + "/") '不管前面是什么,后面port对应就会监到 h.Prefixes.Add("http://+:" + port + "/") '同上 h.Start() DoWhileTrue Dim c As HttpListenerContext = h.GetContext Dim RQ As HttpListenerRequest = c.Request Dim RS As HttpListenerResponse = c.Response s = Now & vbCrLf & 随机.数字() '随便写点东西发过去 bs = 文字转字节(s) Dp(RQ.Url.ToString, RQ.UserAgent) RS.OutputStream.Write(bs, 0, bs.Length) RS.Close() Loop