I am using a websocket to stream data from FME server (2018) to a web app in a browser. The data I am streaming out can be classified by its location, and the user of the web app only views one location at a time. So ideally the websocket stream id would be something like '<location>_data', where <location> is dynamic and set by the feature in the workspace.
This doesn't appear possible though. Setting up the workspace like this seems to instantiate the stream id of the websocket sender with the first feature to pass through it, and then fixes it for the remainder of the job. E.g. if location 'X' was the first feature to be processed, the stream id would be 'X_data' even when locations 'A', 'B' or 'C' passed through. Is this how the websocket sender works? Is there any workaround for this?
It is possible for me to stream all data for all locations out through a websocket with stream id 'data', however this is very wasteful, since the browser will download data for all locations and most of it will just fall on the floor, and the bandwidth will very quickly add up to be substantial.
It is also not really an option for me to set up individual websockets for each location. There may be ~200 locations present, and this can change dynamically.