如何创建自己的 url,如 ws://echo.websocket.org?

Posted

技术标签:

【中文标题】如何创建自己的 url,如 ws://echo.websocket.org?【英文标题】:How can i create own url like ws://echo.websocket.org? 【发布时间】:2015-11-30 21:21:09 【问题描述】:

我是计算机科学的新手。我正在学习 nodejs。我看到很多开发人员使用这样的 url 的例子

ws://echo.websocket.org
ws://localhost:8080/echo
ws://sandbox.kaazing.net/echo

这是什么意思?当我们可以制作聊天应用程序或任何实时应用程序时,为什么我们需要这个? 我怎样才能创建自己的? 我试图创建自己的,但我不知道我要写什么。我只写了这段代码

var ws=require('ws');
var http=require('http');
http.createServer(function(req, res)

// here i dont know what i write
).listen(8080);

我试图了解如何创建/构建这样的 url...但我找不到任何好的教程。

..................................

<!DOCTYPE html>
<meta charset="utf-8" />
<title>WebSocket Test</title>
<script language="javascript" type="text/javascript">
    var wsUri = "ws://echo.websocket.org/";
    var output;

    function init() 
        output = document.getElementById("output");
        testWebSocket();
    

    function testWebSocket() 
        websocket = new WebSocket(wsUri);
        websocket.onopen = function(evt) 
            onOpen(evt)
        ;
        websocket.onclose = function(evt) 
            onClose(evt)
        ;
        websocket.onmessage = function(evt) 
            onMessage(evt)
        ;
        websocket.onerror = function(evt) 
            onError(evt)
        ;
    

    function onOpen(evt) 
        writeToScreen("CONNECTED");
        doSend("WebSocket rocks");
    

    function onClose(evt) 
        writeToScreen("DISCONNECTED");
    

    function onMessage(evt) 
        writeToScreen('<span style="color: blue;">RESPONSE: ' + evt.data + '</span>');
        websocket.close();
    

    function onError(evt) 
        writeToScreen('<span style="color: red;">ERROR:</span> ' + evt.data);
    

    function doSend(message) 
        writeToScreen("SENT: " + message);
        websocket.send(message);
    

    function writeToScreen(message) 
        var pre = document.createElement("p");
        pre.style.wordWrap = "break-word";
        pre.innerHTML = message;
        output.appendChild(pre);
    
    window.addEventListener("load", init, false);
</script>
<h2>WebSocket Test</h2>
<div id="output"></div>

我从https://www.websocket.org/echo.htmlsn-p 这段代码。

【问题讨论】:

我尽力解释我的问题请不要降级投票给我:( 【参考方案1】:

您指的是协议处理程序。

ws 是 websocket 协议(wikipedia)。为了创建自定义协议,用户必须在其客户端上安装应用程序。在 Windows 中,这些都保存在注册表中。见ShotgunSoftware Article。

在 NodeJS 中创建的服务器应用程序上定义协议是不可行的。您最多只能在服务器上定义它。

我希望这能消除任何困惑,如果我能提供澄清,请告诉我。

【讨论】:

我还不明白,创建自定义 url 我必须做什么?嗯,我要如何创建这样的 ws://localhost:8000 或 ws://localhost/echo 的 url。 . 或 wss 您是否正在尝试开发一个能够监听 websocket 协议的服务器应用程序? 我会去***.com/questions/16392260/… 我已经看过了,但我不知道如何使用。我在 youtube 上观看了一些视频,他们使用的是自定义 url/protocol ws://localhost;port/echo

以上是关于如何创建自己的 url,如 ws://echo.websocket.org?的主要内容,如果未能解决你的问题,请参考以下文章

ided如何创建httpservlet

如何为 DJANGO 中动态创建的 URL 设置 URL 别名?

如何使用 html5/动态站点创建 URL [关闭]

我将如何为每个主题创建 URL 模式?

如何从字符串创建 SEO 友好的破折号分隔 url?

如何为特定 URL 创建控制器 [重复]