client emits tap event via socket.io