一尘不染

如何在JavaScript \ HTML中使用套接字?

javascript

如何在JavaScript \ HTML中使用套接字?

可能会使用一些很棒的HTML5?


阅读 254

收藏
2020-05-01

共1个答案

一尘不染

如何在JavaScript / HTML中使用套接字?

没有在JS或HTML中使用通用套接字的工具。一方面,这将是一场安全灾难。

HTML5中有WebSocket。客户端是相当琐碎的:

socket= new WebSocket('ws://www.example.com:8000/somesocket');
socket.onopen= function() {
    socket.send('hello');
};
socket.onmessage= function(s) {
    alert('got reply '+s);
};

您将需要在服务器端使用专门的套接字应用程序来建立连接并对其进行处理。这通常不是从Web服务器的脚本界面执行的操作。但是这是一个相对简单的协议 ; 我的基于Python SocketServer的点头只是几页代码。

无论如何,它实际上并不存在。JavaScript侧规范和网络传输规范均未确定,也没有浏览器支持。

但是,可以使用Flash(如果可用)为脚本提供后备功能,直到WebSocket广泛可用为止。Gimite的web-socket-js是这样的一个免费示例。但是,那时您与Flash Sockets受相同的限制,即您的服务器必须能够根据请求向套接字端口吐出跨域策略,并且代理/防火墙通常会遇到困难。(Flash套接字是直接制成的;对于没有直接公共IP访问权限的人,他们只能通过HTTP代理从网络中退出,它们将无法工作。)

除非您真的需要低延迟的双向通信,否则最好还是坚持一下XMLHttpRequest

2020-05-01