weixin_42390239
2019-06-05 11:24
采纳率: 0%
浏览 403

关于js的webSocket函数问题

我目前需要直接用js向本地端口发送数据,不需要接受服务器信息,也不需要长时间连接服务器,只需要把一串字符能发送到服务器。百度的websocket代码中var socket = new WebSocket("ws://127.0.0.1:60000");直接可以建立连接但是 socket.send函数不执行。首先我想问下js的websocket能不能直接向服务器发送字符串?

图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 十一夜飞天 2019-06-05 13:25

    当然可以发送字符串,但你首先要确定你的连接是否成功。然后再去发送数据。然后不是所有浏览器都支持WebSocket的。
    chrome和firefox是支持的,ie要ie10才支持。
    try {
    var websocket;
    if (typeof MozWebSocket == 'function')
    WebSocket = MozWebSocket;
    if (websocket && websocket.readyState == 1)
    websocket.close();
    websocket = new WebSocket(Uri);
    websocket.onopen = function (evt) {
    alert("连接成功");
    websocket.send("data");
    };
    websocket.onclose = function (evt) {
    alert("服务已断开");
    };
    websocket.onerror = function (evt) {
    alert('ERROR: ' + evt.data);
    };
    } catch (exception) {
    alert('ERROR: ' + exception);
    }

    点赞 打赏 评论
  • 北巷小哥驾到 2019-06-05 14:27

    兄弟 websocket接收的就是字符串,你的操作没有任何问题,你可以加一下socket.open看一下是不是已经第一次握手了

    Socket.readyState

    只读属性 readyState 表示连接状态,可以是以下值:

    0 - 表示连接尚未建立。

    1 - 表示连接已建立,可以进行通信。

    2 - 表示连接正在进行关闭。

    3 - 表示连接已经关闭或者连接不能打开。

    点赞 打赏 评论

相关推荐 更多相似问题