• Python连接webstocker获取消息


    简介(脚本都是根据网上资料改写)

    此脚本主要是客户觉得webstcket不稳定,所以编辑一个脚本,不停的请求web服务器,当发生错误时,脚本自动退出()。
    

    脚本内容

    脚本一

    # -*- coding:utf-8 -*-
    '''
    模块下载,帮助地址:https://github.com/liris/websocket-client#readme
    模块:websocket-client
    说明:websocket客户端
    弊端:不能接受websocket服务端返回的数据
    '''
    
    import websocket
    import thread
    import time
    
    
    #定义消息返回
    def on_message(ws, message):
        print message
    
    #定义错误返回
    def on_error(ws, error):
        print error
    
    #定义关闭返回
    def on_close(ws):
        print "### closed ###"
    
    def on_open(ws):
        #*args 默认没有k值
        def run(*args):
            time.sleep(2)
            #发送请求
            ws.send("请求参数")
            #延迟两秒,等待消息返回
            time.sleep(2)
            #关闭连接
            ws.close()
            print "thread terminating..."
        #开启一个线程,执行run函数
        thread.start_new_thread(run, ())
    
    i=0
    
    if __name__ == "__main__":
        while True:
            try:
                websocket.enableTrace(True)
                ws = websocket.WebSocketApp("wss://地址",
                                  on_message = on_message,
                                  on_error = on_error,
                                  on_close = on_close)
            #继续上面的on-open
                ws.on_open = on_open
            #执行上面的操作
                ws.run_forever()
                i = i + 1
                print "成功:%d" %i
            except Exception,e:
                print e
                exit(1)
    

    脚本2

    # -*- coding:utf-8 -*-
    
    '''
    模块下载,帮助地址:https://github.com/liris/websocket-client#readme
    模块:websocket-client
    说明:websocket客户端
    比较方便,可以根据自己的真实环境,进行改动
    '''
    
    from websocket import create_connection
    import requests
    import json
    
    #建立一个websocket连接
    ws = create_connection("ws://IP")
    #对websocket客户端发送一个请求
    ws.send("token")
    #使用一个变量,接受返回的数据
    result =  ws.recv()
    #打印返回的数据
    print result
    #关闭websocketqingq
    ws.close()
    
  • 相关阅读:
    同一个类生成的对象去重
    关于公众号JavaTokings侵权声明
    消息中间件ActiveMQ使用详解
    重定向和转发的分析与理解
    Oracle SqlPlus导出查询结果
    Sql查询一个列对应多个列
    Jsp标签字典开发_基于Spring+Hibernate
    Oracle数据库导入导出简单备份
    JAVA WEB接口开发简述
    NTKO在线office控件使用实例
  • 原文地址:https://www.cnblogs.com/GXLo/p/7405546.html
Copyright © 2020-2023  润新知