【问题标题】:Using TCP listener or HTTP listener Along with IIS将 TCP 侦听器或 HTTP 侦听器与 IIS 一起使用
【发布时间】:2016-03-30 13:30:09
【问题描述】:

我想实现一个解决方案,我可以将数据从我的网页传递到 C# 应用程序,该应用程序在运行浏览器的同一客户端 PC 上运行。经过一番研究,我发现使用 TCP 侦听器或 HTTP 侦听器,可以实现这样一个系统 - 通过发出 ajax 请求/发布,然后让侦听器捕获这些请求,然后可以访问请求中的数据。

然后我开始编写一个小型测试应用程序,万岁,它可以工作了!我使用我找到的代码here(see answer) 来实现一个简单的 TCP 侦听器,然后打开我的浏览器并导航到http://localhost:8090/,就像我应该看到的那样,我看到了侦听器响应的数据。这很好,但现在我遇到的问题是这个监听器需要与我的 IIS 服务器(或者实际上将托管我的 wep 应用程序的任何服务)一起工作。

所以我创建了一个基本的 html 页面并将其添加为 IIS 上的站点并在浏览器中对其进行测试以查看它是否有效,因此我只是导航到 http://localhost:8081/index.html 并显示了我的测试页面。很好 - 然后我将侦听器正在侦听的端口从 8090 更改为 8081,这是 IIS 用来托管我的网站的端口,当我尝试使用我得到的新端口启动我的侦听器时执行“An attempt was made to access a socket in a way forbidden by its access permissions”。是 IIS 导致了这个问题,还是因为我在错误的上下文中使用它而导致我试图做的事情在任何情况下都不起作用。

我想做的另一件事是使用 HTTP 侦听器,但我能找到的唯一 HTTP 侦听器示例是个人使用它来创建简单的 HTTP 服务器,这些服务器实际上为浏览器(e.g. here) 提供 html 和其他资源。我想要的只是之前在我链接的线程中提到的代码的 HTTP 侦听器实现。

总结:就像我在介绍 ...implement a solution where I can pass data from my web page to a C# Application... 中提到的,我的最终目标是实现从我的网页与我的 C# 应用程序的通信,不管我使用 HTTP 还是 TCP监听器。

【问题讨论】:

  • 一次只有一个应用程序可以侦听任何给定端口,即 HTTP 服务器和 TCP 服务器需要侦听不同且单独的端口,因此会出现错误。您可以在客户端使用普通 AJAX 向localhost:8090 发送/接收数据 - 他们不需要在同一个端口上进行通信,只需同一个域
  • 正如@JonathanBrooks 提到的错误与端口使用有关。此外,如果我对您的理解正确,您有一个与听众有关的工作示例。所以,你知道如何将变量传递给 c#。

标签: javascript c# iis tcp


【解决方案1】:

我通过解决方案here 找到了。通过使用 HTTP 侦听器并等待和处理发送到特定 url 和端口的 ajax 帖子。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-20
    • 1970-01-01
    • 1970-01-01
    • 2011-08-16
    • 1970-01-01
    • 2017-08-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多