繁体   English   中英

如何将数据从网页发送到 web 服务器的端口?

[英]how do i send data from a webpage to port in web server?

这是将数值数据从 javscript 网页发送到 web 服务器端口的最佳方法。我有一个服务器套接字程序在服务器上运行并监听端口 5000。我需要将数据从网页发送到端口? 哪个是最好的方法?

场景是这样的。

我有一个 C 套接字程序在使用 XAMPP 托管在我的笔记本电脑中的 web 服务器上运行。 它正在监听端口 5000,而且我还有我的 ip 地址。 在 web 页面中,我正在运行 javascript 并且当用户按下任何箭头键时,我需要将一个值发送到该端口。例如向上 -1、向下 -2 等...

目前没有任何方法可以以便携式方式执行此操作。 某些浏览器支持WebSocket 标准,这使您可以有限地访问 sockets,但目前在除 Chrome 和 Safari 之外的任何常见浏览器中均不可用。 Flash 播放器支持单独的XMLSocket协议,如果 Flash 插件可用,您也可以使用该协议。 但是,这些协议都不支持对 sockets 的原始访问——两者都需要一些初始协商和数据包成帧。

由于您的 web 服务器运行在与您的套接字程序不同的端口上,因此浏览器中的 Javascript 由于相同的来源策略而被限制直接向套接字程序发出请求。 但是,有多种方法可以绕过此限制。 亚历克斯·塞克斯顿(Alex Sexton)对执行此操作的所有不同方式进行了冗长的概述 但是,所有这些方法都要求您的套接字程序也运行 http 协议。

Socket.IO似乎非常适合您尝试做的事情,但您可能需要放弃您的 C 程序。

我想向服务器上的所需端口发出一个 ajax 请求......可以解决该请求。

从 web 页面打开网络套接字连接的唯一方法是使用 Java 或 Flash 应用程序进行二进制套接字连接。 然后,您可以使用 java 脚本将数据传递给应用程序,该应用程序将连接并将其转发到服务器。

或者,您可以使用一些服务器端代码和 AJAX 来代理连接并转发数据。 第二个选项不依赖于安装任何浏览器插件,我认为会更容易实现。 它还能够转发到不在 web 服务器本身上的端口,因为它不受浏览器安全限制。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM