'Kafaka Subscriber not receiving the messages

I am writing sample applications in .Net core to interact with Kafka. I have downloaded Kafka and Zookeeper official docker images to my machine. I am using Confluent.Kafka nuget package for both producer and consumer. I am able to produce the message to Kafka. But my consumer part is not working.

Below is my producer and consumer code snippet. I am not sure what mistake I'm doing here. Do we need to Explicitly create a consumer group?

Consumer Code (This code not working. Thread waiting at consumer.Consume(cToken);)

var config = new ConsumerConfig
        {
            BootstrapServers = "localhost:9092",
            GroupId = "myroupidd",
            AutoOffsetReset = AutoOffsetReset.Earliest,
        };

        var cToken = ctokenSource.Token;
        var consumerBuilder = new ConsumerBuilder<Null, string>(config);
        consumerBuilder.SetPartitionsAssignedHandler((consumer, partitionlist) =>
        {
            consumer.Assign(new TopicPartition("myactual-toppics", 0) { });
            Console.WriteLine("inside SetPartitionsAssignedHandler action");
        });

        using var consumer = consumerBuilder.Build();
        consumer.Subscribe("myactual-toppics");
        while (!cToken.IsCancellationRequested)
        {
            var consumeResult = consumer.Consume(cToken);
            if (consumeResult.Message != null)
                Console.WriteLine(consumeResult.Message.Value);
        }

Producer Code (This is working fine. I am able to see the messages using Conduckto Tool)

var config = new ProducerConfig
            {
                BootstrapServers = "localhost:9092",
                ClientId = Dns.GetHostName(),
            };
            using (var producer = new ProducerBuilder<Null, string>(config).Build())
            {
                while (!stoppingToken.IsCancellationRequested)
                {
                    var top = new TopicPartition("myactual-toppics", 0);
                    var result = await producer.ProduceAsync(top, new Message<Null, string> { Value = "My First Message" });
                    Console.WriteLine($"Publishedss1234"  );
                    await Task.Delay(5000, stoppingToken);


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source