python后端数据发送到前端_Python 服务端实时持续发送数据给前端无法收到。新人求救!大问题!!...

本人是新手,第一次尝试写个简单功能,已经被折腾好几天了

我用 flask 框架, flask-socketio 。写了一个服务器端实时传送数据展示在前端的程序,但是问题是,前端无法收到后端发送的数据,全部阻塞在服务器上了

前端也无法收到后端的数据,但是我的 websocket 管道已经建立

5d81f64ec0d14cc5a5a70c075caaefdd: Received request to upgrade to websocket

5d81f64ec0d14cc5a5a70c075caaefdd: Received packet MESSAGE data 2["message",{"data":"hello"}]

5d81f64ec0d14cc5a5a70c075caaefdd: Sending packet MESSAGE data 2["server_response",{"data":"welcome"}]

127.0.0.1 - - [01/Mar/2017 15:19:35] "POST /socket.io/?EIO=3&transport=polling&t=Lg8lGsx&sid=5d81f64ec0d14cc5a5a70c075caaefdd HTTP/1.1" 200 219 0.001000

5d81f64ec0d14cc5a5a70c075caaefdd: Sending packet NOOP data None

127.0.0.1 - - [01/Mar/2017 15:19:35] "GET /socket.io/?EIO=3&transport=polling&t=Lg8lGsx.0&sid=5d81f64ec0d14cc5a5a70c075caaefdd HTTP/1.1" 200 260 0.000000

5d81f64ec0d14cc5a5a70c075caaefdd: Upgrade to websocket successful

想问一下 各位大神,我的问题出在哪里,有没有什么好的解决办法。

前端触发 onclick 后,发送的全是空:

5d81f64ec0d14cc5a5a70c075caaefdd: Received packet MESSAGE data 2["message",{"data":"wawawa"}]

5d81f64ec0d14cc5a5a70c075caaefdd: Sending packet MESSAGE data 2["server_response",{"data":""}]

5d81f64ec0d14cc5a5a70c075caaefdd: Received packet MESSAGE data 2["message",{"data":"aaaaa"}]

5d81f64ec0d14cc5a5a70c075caaefdd: Sending packet MESSAGE data 2["server_response",{"data":""}]

5d81f64ec0d14cc5a5a70c075caaefdd: Received packet MESSAGE data 2["message",{"data":"dsdaaf"}]

5d81f64ec0d14cc5a5a70c075caaefdd: Sending packet MESSAGE data 2["server_response",{"data":""}]

5d81f64ec0d14cc5a5a70c075caaefdd: Received packet MESSAGE data 2["message",{"data":"ddddwdad"}]

5d81f64ec0d14cc5a5a70c075caaefdd: Sending packet MESSAGE data 2["server_response",{"data":""}]

5d81f64ec0d14cc5a5a70c075caaefdd: Received packet MESSAGE data 2["message",{"data":"adadeeel"}]

5d81f64ec0d14cc5a5a70c075caaefdd: Sending packet MESSAGE data 2["server_response",{"data":""}]

代码:

服务端:

@socketio.on('connect_event')

def connectevent(job_name):

if job_name['data'] == 'hello':

emit('serverresponse',{'data':'welcome'})

else:

log_command = ['tailf','/var/log/messages']

log_out = subprocess.Popen(log_command,stdout=subprocess.PIPE)

while log_out:

out = log_out.stdout.readline().strip()

emit('serverresponse',{'data':out})

while 里 print out ,是可以打印出来的,但是 emit 的时候却无法发送给前端

前端:

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

var name = 'hello'

function jobname(name){

socket.emit('connect_event',{'data':name});

return false;

};

socket.on('connect', function() {

socket.emit('connect_event',{'data':name});

})

socket.on('serverresponse', function(msgg) {

console.log(msgg)

$('#loog').append('
' + $('

});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值