猿问

websocket判断IP的问题?

利用websocket做一个web聊天室,前台通过socket.io发送信息给后台(Flask-SocketIO),后台收到后再推送给所有客户端,想对这个数据增加一个status属性,当接收方就是发送信息的那个客户端时,这个属性值是self,否则是other,请问怎么实现呢?


后端代码:


@socketio.on('message')

def handler_message(data):

    user = data.get('user')

    content = data.get('msg')

    chat_time = datetime.now()

    ip = session['ip']

    log = Logs(username=user, address=ip, content=content, chat_time=chat_time)

    db.session.add(log)

    db.session.commit()

    data['chat_time'] = str(chat_time)

    socketio.emit('res', data)

前端代码:


var socket = io.connect('http://' + document.domain + ':' + location.port);

var click = function () {

    socket.emit('message', {

        'msg': msg,

        'user': user

    });

};

socket.on("res", function (resp) {

    console.log(resp);

}) 


收到一只叮咚
浏览 446回答 2
2回答

守着星空守着你

改一下socketio.emit('res', data)手动遍历。自己发的就是对应的socket是当前的socket
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答