Exemple #1
0
int MQTTSPacket_send_connect(Clients* client)
{
	PacketBuffer buf;
	int rc;

	FUNC_ENTRY;
	buf = MQTTSPacketSerialize_connect(client->cleansession, (client->will != NULL), 1, client->keepAliveInterval, client->clientID);
	
	char *colon ;
	if ( client->wirelessNodeId != NULL )
	{
		buf = MQTTSPacketSerialize_forwarder_encapsulation(client , buf) ;
		// Temporary shorten client->addr until the colon before wireless node ID
		colon = strrchr(client->addr, ':');
		*(colon) = '\0';
	}
	rc = MQTTSPacket_sendPacketBuffer( client->socket, client->addr, buf);
	if ( client->wirelessNodeId != NULL )
		*(colon) = ':';

	free(buf.data);

	Log(LOG_PROTOCOL, 38, NULL, client->socket, client->addr, client->clientID, client->cleansession, rc);
	FUNC_EXIT_RC(rc);
	return rc;
}
int MQTTSPacket_send_connect(Clients* client)
{
	PacketBuffer buf;
	int rc;

	FUNC_ENTRY;
	buf = MQTTSPacketSerialize_connect(client->cleansession, (client->will != NULL), 1, client->keepAliveInterval, client->clientID);
	
	rc = MQTTSPacket_sendPacketBuffer(client->socket, client->addr, buf);
	free(buf.data);

	Log(LOG_PROTOCOL, 38, NULL, client->socket, client->addr, client->clientID, client->cleansession, rc);
	FUNC_EXIT_RC(rc);
	return rc;
}