繁体   English   中英

为什么需要websocket sendMessage

[英]Why websocket sendMessage is required

这是摘自《 HTML5 websocket权威指南》一书的代码。

div id="output"></div>
<script>
function setup() {
output = document.getElementById("output");
ws = new WebSocket("ws://localhost:7777");

ws.onopen = function(e) {
    log("Connected");
    sendMessage("Hello Websocket!");
}

ws.onclose = function(e){
    log("Disconnected: " + e.reason);
}

ws.onerror = function(e){
    log("Error ");
}

ws.onmessage = function(e) {
    log("Message received: " + e.data);
    ws.close();
}

}

function sendMessage(msg){
ws.send(msg);
    log("Message Sent");
}

function log(s){
var p = document.createElement("p");
p.style.wordWrap = "break-word";

有人可以出于以下原因告知我吗?

 ws.send(msg);

我了解以下内容将在服务器端调用onMessage方法,如下所示

public void onMessage(String data) {

}

但是onMessage在服务器端的实际目的是将数据从后端发送到javascript,这将反过来调用客户端javascript的onmessage

谁能帮我理解这一点。

在上面的代码中, ws.onopen, ws.onclose, ws.onmessage是与WebSocket对象关联的所有事件

ws.send()是与WebSocket对象关联的方法 它们之间存在巨大差异。

以下事件可确保Web套接字已连接到服务器,即您已打开连接

ws.onopen = function(e) {
    //Once you've opened your connection
    //you can begin transmitting data to the server 
    //using the following method
    ws.send("You\'re message");
}

因此, ws.send()方法的主要目的是将数据从客户端传输到服务器 ,这是通过简单地调用WebSocket对象的send()[在您的情况下为ws.send(msg) ]完成的。

而且, 通过定义onopen事件处理程序与服务器建立连接后,才发送数据

暂无
暂无

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

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