如何创建 Web 浏览器控件可以使用的本地服务器

发布于 2024-08-15 10:49:08 字数 332 浏览 7 评论 0原文

对于我最新的 Windows 应用程序,我想使用 Web 浏览器控件创建一个基于 Web 的界面,并且我想让 Ajax 在其上工作。由于所有内容都将由 Web 浏览器控件本身加载,我想创建一个 Web 服务器,该服务器将在本地主机端口上工作,并在 Web 浏览器访问特殊 url 时将我的内容提供给 Web 浏览器,例如:

http://localhost:3454

如何创建 Windows 将请求路由到的 Web 服务器?我只需要了解正确的 API/WinInet 命令即可开始接收请求。

For my newest windows-application I want to create an interface that is web-based using the web-browser control, and I want to make Ajax work on it. Since all the content will be loaded by the web-browser control itself I want to create a web-server that would work on a localhost port and serve my content to the web-browser when it accesses a special url, example:

http://localhost:3454

How can I create a web-server that windows will route requests to? I just need to know about the right API/WinInet commands to start receiving the requests.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

没︽人懂的悲伤 2024-08-22 10:49:08

幸运的是,.NET 的框架中内置了一个相当不错的 Web 服务器。

查看 HttpListener 类。

它支持同步和异步模式:

同步模型合适
如果你的应用程序应该阻塞
等待客户端请求,如果
您只想处理一个请求
一次。使用同步
模型,调用 GetContext 方法,
等待客户端发送
要求。该方法返回一个
HttpListenerContext 对象给你
发生时进行处理。

在更复杂的异步中
模型,您的应用程序不会阻塞
在等待请求和每个
请求在其自己的处理中
执行线程。使用
BeginGetContext 方法指定
应用程序定义的方法是
调用每个传入的请求。
在该方法中,调用
EndGetContext方法获取
请求、处理并响应。

这个家伙很棒,因为它使用内置于现代版本 Windows(XP SP2+ 和 Server 2003+)中的本机 Web 服务器。

Fortunate for you, .NET comes with a pretty decent Web Server built into the framework.

Look at the HttpListener class.

It supports both synchronous and asynchronous modes:

The synchronous model is appropriate
if your application should block while
waiting for a client request and if
you want to process only one request
at a time. Using the synchronous
model, call the GetContext method,
which waits for a client to send a
request. The method returns an
HttpListenerContext object to you for
processing when one occurs.

In the more complex asynchronous
model, your application does not block
while waiting for requests and each
request is processed in its own
execution thread. Use the
BeginGetContext method to specify an
application-defined method to be
called for each incoming request.
Within that method, call the
EndGetContext method to obtain the
request, process it, and respond.

This guy is great because it uses the native web server that is built into modern versions of Windows (XP SP2+ and Server 2003+).

虚拟世界 2024-08-22 10:49:08

您所要做的就是打开 TCP 套接字绑定 到端口 3454 和 监听连接。然后,您需要通过读取流、解析 HTTP 标头和内容(如果适用)来为每个传入连接提供服务。

All you have to do is open a TCP socket, bind to port 3454 and listen for connections. Then you need to service each incoming connection by reading the stream, parsing the HTTP headers and content (if applicable).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文