def createWebsocketInterface(appcfg): address = keyChainValue(appcfg, 'view_server', 'address') port = keyChainValue(appcfg, 'view_server', 'port') sockopt = ((socket.IPPROTO_TCP, socket.TCP_NODELAY, 1),) ws_url = "ws://{0}:{1}/data_websocket".format(address, port) ui_server_websocket = create_connection(ws_url, None, sockopt=sockopt) ui_server_websocket.settimeout(0) # Inform feedback webserver of experiment directory list avail_exp_list = DataCollectionRuntime.getActiveExperimentNames( appcfg.get("experiment_inactive_token")) msg_type = 'EXP_FOLDER_LIST' ui_server_websocket.send(ujson.encode([{'msg_type': msg_type, 'data': avail_exp_list}, ])) msg_type = 'DATA_COLLECT_CONFIG' ui_server_websocket.send(ujson.encode([{'msg_type': msg_type, 'data': appcfg}, ])) return ui_server_websocket