In such a case I would skip the indicator and local and use either a que or a functional global to receive the output from the TCP function.
If the TCP reads separate messages the que would be my first choice. If it just read the data as it is I would use a functional global to hold the traffic and add multiple methods to it. The reason why you use an indicator at all e.g. I assume is because sometimes you want to see the traffic. Instead of having an indicator in the reading VI though I would have a read method in the func.global that lets you read out the traffic to display it wherever you need it.