为什么我的onmessage方法无法接收事件数据?

时间:2017-07-20 03:39:54

标签: javascript reactjs websocket

我正在使用websocket制作一个简单的网络应用程序。

我的服务器程序有一个非常简单的功能,当它从客户端收到消息时,它会向客户端返回相同的消息。

我的代码如下:

class Seat extends Component {
    constructor(props){
        super(props);
        this.state = {
            'seatLabel' : 'Empty'
        }
        this.Message = this.Message.bind(this);
        this.ws = new WebSocket('ws://localhost:8080/');
        this.ws.onmessage = this.Message;
        this.ws.onopen = function(){
            this.send("sadf");
        }
    }

    Message(e){
        alert(e.data);
    }

    handleClick(p) {
        this.ws.send(`${p.pname}`)
        if (this.props.sitdown(p)) {
            p.sit = !p.sit;
            this.setState({
                'seatLabel': p.sit ? p.pname : "Empty"
            })
        }

    }

    render(){
        return (<div onClick={this.handleClick.bind(this, this.props.user)}>{this.state.seatLabel}</div>)
    }
}
当对象'ws'为'onopen'状态时,触发'onmessage'事件,我可以从服务器接收消息。

但是当我点击div发送消息时,我无法收到响应消息。

所以我想知道发生了什么,为什么我收不到这条消息。

0 个答案:

没有答案