**Describe the bug**
When I try to do subscribe with nng_mqtt_subscribe on a quic client. It stucks.

**Expected behavior**
No stuck.

**To Reproduce**
```
void
test_msquic_app_sub(void)
{
	// Connect...
	nng_socket sock;
	nng_dialer dialer;
	nng_msg *connmsg = create_connect_msg(MQTT_PROTOCOL_VERSION_v311,
			true, (char *)quic_test_clientid);
	NUTS_ASSERT(connmsg != NULL);

	NUTS_PASS(nng_mqtt_quic_client_open(&sock));
	NUTS_PASS(nng_dialer_create(&dialer, sock, quic_test_url));
	NUTS_PASS(nng_dialer_set_ptr(dialer, NNG_OPT_MQTT_CONNMSG, connmsg));
	NUTS_PASS(nng_socket_set_ptr(sock, NNG_OPT_MQTT_CONNMSG, connmsg));
	//NUTS_PASS(nng_mqtt_set_connect_cb(sock, test_msquic_connect_cb, NULL));
	NUTS_PASS(nng_mqtt_set_disconnect_cb(sock, test_msquic_disconnect_cb, connmsg));
	NUTS_PASS(nng_dialer_start(dialer, NNG_FLAG_ALLOC));

        // Same process to nng_mqtt_subscribe() !!!!!!!!!!!!
	// Subscribe
	nng_msg *submsg = create_subscribe_msg(quic_test_topic, quic_test_qos,
		quic_test_nolocal, quic_test_rap, quic_test_rh, NULL);
	NUTS_ASSERT(submsg != NULL);
	NUTS_PASS(nng_mqtt_msg_encode(submsg));
	printf("Wait here0\n");
	NUTS_PASS(nng_sendmsg(sock, submsg, NNG_FLAG_ALLOC));
```

**Environment Details**
 - NanoMQ version.  Latest
 - Operating system and version. fedora
 - Compiler and language used gcc
QUIC Stuck on nng_mqtt_subscribe.
This is a GitHub Issue
repo:nanomq
owner:emqx
Title : QUIC Stuck on nng_mqtt_subscribe.
Issue date:

--- start body ---
**Describe the bug**
When I try to do subscribe with nng_mqtt_subscribe on a quic client. It stucks.

**Expected behavior**
No stuck.

**To Reproduce**
```
void
test_msquic_app_sub(void)
{
	// Connect...
	nng_socket sock;
	nng_dialer dialer;
	nng_msg *connmsg = create_connect_msg(MQTT_PROTOCOL_VERSION_v311,
			true, (char *)quic_test_clientid);
	NUTS_ASSERT(connmsg != NULL);

	NUTS_PASS(nng_mqtt_quic_client_open(&sock));
	NUTS_PASS(nng_dialer_create(&dialer, sock, quic_test_url));
	NUTS_PASS(nng_dialer_set_ptr(dialer, NNG_OPT_MQTT_CONNMSG, connmsg));
	NUTS_PASS(nng_socket_set_ptr(sock, NNG_OPT_MQTT_CONNMSG, connmsg));
	//NUTS_PASS(nng_mqtt_set_connect_cb(sock, test_msquic_connect_cb, NULL));
	NUTS_PASS(nng_mqtt_set_disconnect_cb(sock, test_msquic_disconnect_cb, connmsg));
	NUTS_PASS(nng_dialer_start(dialer, NNG_FLAG_ALLOC));

        // Same process to nng_mqtt_subscribe() !!!!!!!!!!!!
	// Subscribe
	nng_msg *submsg = create_subscribe_msg(quic_test_topic, quic_test_qos,
		quic_test_nolocal, quic_test_rap, quic_test_rh, NULL);
	NUTS_ASSERT(submsg != NULL);
	NUTS_PASS(nng_mqtt_msg_encode(submsg));
	printf("Wait here0\n");
	NUTS_PASS(nng_sendmsg(sock, submsg, NNG_FLAG_ALLOC));
```

**Environment Details**
 - NanoMQ version.  Latest
 - Operating system and version. fedora
 - Compiler and language used gcc
--- end body ---

The issue describes a potential deadlock or blocking behavior in the NanoMQ QUIC client when attempting to subscribe using the nng_mqtt_subscribe function. This could indicate a problem in the handling of MQTT subscriptions over QUIC, which may lead to Denial of Service (DoS) if the client becomes unresponsive during subscription attempts.