I am writing a websocket server to receive binary data from clients using spring framework. I know tcp and websocket can guarantee the transport order. But I found that the handleMessage method in WebSocketHandler are executed in different threads, seems asynchronously, so I'm not sure if the message are processed in the order which they are sent. Are the messages from one tcp connection processed serially or parallelly? If parallelly, how can I make sure receiving data in order?