使用C#asp.net通过HTTP传输数据
我正在尝试实现一个小型服务器端解决方案,用于远程连接到我的家庭网络。基本上类似于使用自定义代理,因为我的ISP不允许传入连接(Dish/Hughes Net) 我已经设置了一个c#/wpf/桌面应用程序,通过TCP连接到我的服务器/网站。建立连接后,将推送一些HTTP头:使用C#asp.net通过HTTP传输数据,c#,asp.net,http,tunnel,chunked,C#,Asp.net,Http,Tunnel,Chunked,我正在尝试实现一个小型服务器端解决方案,用于远程连接到我的家庭网络。基本上类似于使用自定义代理,因为我的ISP不允许传入连接(Dish/Hughes Net) 我已经设置了一个c#/wpf/桌面应用程序,通过TCP连接到我的服务器/网站。建立连接后,将推送一些HTTP头: "GET http://.../api.ashx?connect HTTP/1.1" "Host: ...:80" "Connection: keep-alive" "Content-Encoding: UTF-8" "Tra
"GET http://.../api.ashx?connect HTTP/1.1"
"Host: ...:80"
"Connection: keep-alive"
"Content-Encoding: UTF-8"
"Transfer-Encoding: chunked"
""
{data}
0\r\n
此解决方案仅在请求完成后才起作用。问题是传入的数据在被GenericHandler处理之前被缓冲,并且被“一次发送”。我需要找到一种方法,使发送到ASP.net的数据保持流式/分块,以便可以异步处理。如果您的ISP不允许传入连接,您如何连接到该服务器?您的web服务器是否托管在其他地方(即由其他ISP托管)?如果您有一个由不同ISP托管的web服务器,您想解决什么问题?你能定义“连接到我的家庭网络”吗?我直接开始思考某种RDP会话。如果是这样,为什么要使用HTTP作为传输?@itsme86:Dish不允许传入连接(主要是端口转发)。因此,从我的网络,我可以访问互联网,并接收网络响应。但是,我无法远程(从外部网络)连接到网络上的任何设备。hughes net提供的调制解调器会阻止任何传入连接(不是响应)和/或端口80以外的任何连接。因此,我的解决方案是在我的网络上有一台备用pc连接到我的[远程]服务器。然后,我的工作/旅行pc将连接到同一台服务器,数据将使用TCP/IP通过HTTP进行隧道传输。与您的家庭网络相关的数据在哪里运行?在我之前的评论中有几个问题。更新帖子。家庭网络和工作网络连接到同一个远程服务器,而服务器只是在两个活动TCP连接之间传输数据。问题是ASP net在我处理传入数据之前正在缓冲它。由于我正在发送流数据,这是一个关键问题。一个简单的TCP中继可以为您工作吗?有一百万个免费的。如果您只想中继TCP流量,我会尽量避免使用HTTP。