linux运行websocket,Websocket代码可以在Windows上运行,但不能在Linux上运行

我正在运行相同的代码;下面的代码可以在Windows下运行,但是可以在Ubuntu(16.04)上正常运行。在import websocket

import json

class WhatEver(object):

def __init__(self):

self.ws = websocket.WebSocketApp(

'wss://beijing.51nebula.com/',

on_message=self.on_ws_message,

on_open=self.on_open

)

def rin_forever(self):

print("start run forever")

self.ws.run_forever()

def on_ws_message(self, ws,message):

print (message)

self.ws.close()

def _send_msg(self, params):

call = {"id": 1, "method": "call",

"params": params}

self.ws.send(json.dumps(call))

def on_open(self, ws):

print("start open function")

self._send_msg([1, "login", ["",""]])

if __name__ == '__main__':

ws=WhatEver()

print("start")

ws.rin_forever()

print("close")

我尝试过重新安装所有模块(包括相同版本的Python和Windows和Ubuntu之间的websocket),在Windows系统上,以下代码的打印是正确的:

^{pr2}$

但是,当它在Ubuntu中运行时,虽然它确实打印,但它会遗漏一些print语句:start

start run forever

close

当我在Ubuntu中调试代码时,我发现主线程在self.ws.run_forever()调用中停止,而从不跳转到on_open函数。然后它爆发了。在

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值