<div dir="ltr"><font size="2">Hi,</font><div><font size="2">&nbsp; &nbsp;I'm a Rabbit newbie, I use<font color="#ff0000">&nbsp;register_confirm_handler/2&nbsp;</font>to&nbsp;<span style="color: rgb(0, 0, 0); font-family: Verdana, Arial, Helvetica, sans-serif;">register a handler which deals with confirm-related messages, but it didn't receive any acks or nacks.</span></font></div><div><font size="2"><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif">Then I &nbsp;add &nbsp;code1&nbsp;</font>after <font color="#ff0000">amqp_channel:cast(Channel, Publish, Msg</font>),&nbsp;It can work. so why? I want to publish msg&nbsp;</font><span style="color: rgb(85, 85, 85); font-family: Verdana, sans-serif; line-height: 18px; background-color: rgb(238, 238, 238);">In the asynchronous mode.</span><span style="font-size: small;">&nbsp; Thanks!!!!</span></div><div><font face="Verdana, Arial, Helvetica, sans-serif" color="#ff0000" size="2"><br></font></div><div><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000" size="2">code1:</font></div><div><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000" size="2">receive</font></div><div><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000" size="2">&nbsp; &nbsp;Any -&gt; void</font></div><div><font color="#000000" size="2">end</font></div><div><font color="#000000" size="2"><br></font></div><div><font color="#000000" size="2"><br></font></div><div><font color="#000000" size="2">my code:</font></div><div><font color="#000000" size="2"><br></font></div><div><div><font size="2">deal_confirm(Pid) -&gt;</font></div><div><font size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>loop(Pid, S).</font></div><div><font size="2"><br></font></div><div><font size="2">loop(Pid, S) -&gt;</font></div><div><font size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>receive</font></div><div><font size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>#'basic.ack'{delivery_tag = Tag} &nbsp;-&gt;</font></div><div><font size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>io:format("********"),</font></div><div><font size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>loop(Pid, S);</font></div><div><font size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>#'basic.nack'{delivery_tag = Tag} -&gt;</font></div><div><font size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>io:format("XXXXXXXXXXXX");</font></div><div><font size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>_ -&gt;</font></div><div><font size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>io:format("??????????~n")</font></div><div><font size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>end,</font></div><div><font size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>loop(Pid, S).<span class="Apple-tab-span" style="white-space: pre;">                </span>&nbsp;</font></div><div><font size="2"><br></font></div><div><font size="2">send_message(_, _, _, 100) -&gt;</font></div><div><font size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>void;</font></div><div><font size="2">send_message(Channel, Publish, Msg, A) -&gt;</font></div><div><font size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>amqp_channel:cast(Channel, Publish, Msg),</font></div><div><font size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>send_message(Channel, Publish, Msg, A+1).</font></div><div><font size="2"><br></font></div><div><font size="2">start() -&gt;</font></div><div><font size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{ok, Connection} = amqp_connection:start(#amqp_params_network{}),</font></div><div><font size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{ok, Channel} &nbsp; &nbsp;= amqp_connection:open_channel(Connection),</font></div><div><font size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>#'confirm.select_ok'{} = amqp_channel:call(Channel, #'confirm.select'{}),<span class="Apple-tab-span" style="white-space:pre">        </span></font></div><div><font size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>S = self(),</font></div><div><font size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>amqp_channel:register_confirm_handler(Channel, spawn(fun() -&gt; deal_confirm(S) end)),</font></div><div><font size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>Payload = &lt;&lt;"helloworld"&gt;&gt;,</font></div><div><font size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>Publish = #'basic.publish'{exchange = &lt;&lt;"infoexchange"&gt;&gt;, routing_key = &lt;&lt;"info"&gt;&gt;},</font></div><div><font size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>Props &nbsp; = #'P_basic'{delivery_mode = 2},</font></div><div><font size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>Msg &nbsp; &nbsp; = #amqp_msg{props = Props, payload = Payload},</font></div><div><font size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>send_message(Channel, Publish, Msg, 0),</font></div><div><font size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>amqp_channel:close(Channel),</font></div><div><font size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>amqp_connection:close(Connection).</font></div></div><div><br></div></div>