call setreceiver before channel.connect