The wire protocol has changed drastically since then. I don't know of any C# clients (there are none on the client library page nor have I heard of any being used in production but maybe there are some).
For clients that use DotNet I often suggest that they use some HTTP producer/consumer https://cwiki.apache.org/confluence/display/KAFKA/Clients#Clients-HTTPREST /******************************************* Joe Stein Founder, Principal Consultant Big Data Open Source Security LLC http://www.stealth.ly Twitter: @allthingshadoop <http://www.twitter.com/allthingshadoop> ********************************************/ On Mon, May 12, 2014 at 12:34 PM, Margusja <mar...@roo.ee> wrote: > Hi > > I have kafka broker running (kafka_2.9.1-0.8.1.1) > All is working. > > One project requires producer is written in CSharp > I am not dot net programmer but I managed to write simple producer code > using https://github.com/kafka-dev/kafka/blob/master/clients/ > csharp/README.md > > the code > ... > using System; > using System.Collections.Generic; > using System.Text; > using System.Threading.Tasks; > using Kafka.Client; > > namespace DemoProducer > { > class Program > { > static void Main(string[] args) > { > string payload1 = "kafka 1."; > byte[] payloadData1 = Encoding.UTF8.GetBytes(payload1); > Message msg1 = new Message(payloadData1); > > string payload2 = "kafka 2."; > byte[] payloadData2 = Encoding.UTF8.GetBytes(payload2); > Message msg2 = new Message(payloadData2); > > Producer producer = new Producer("broker", 9092); > producer.Send("kafkademo3", 0 , msg1 ); > } > } > } > ... > > In broker side I am getting the error if I executing the code above: > > [2014-05-12 19:15:58,984] ERROR Closing socket for /84.50.21.39 because > of error (kafka.network.Processor) > java.nio.BufferUnderflowException > at java.nio.HeapByteBuffer.get(HeapByteBuffer.java:145) > at java.nio.ByteBuffer.get(ByteBuffer.java:694) > at kafka.api.ApiUtils$.readShortString(ApiUtils.scala:38) > at kafka.api.ProducerRequest$.readFrom(ProducerRequest.scala:33) > at kafka.api.RequestKeys$$anonfun$1.apply(RequestKeys.scala:36) > at kafka.api.RequestKeys$$anonfun$1.apply(RequestKeys.scala:36) > at kafka.network.RequestChannel$Request.<init>(RequestChannel. > scala:53) > at kafka.network.Processor.read(SocketServer.scala:353) > at kafka.network.Processor.run(SocketServer.scala:245) > at java.lang.Thread.run(Thread.java:744) > > > > [2014-05-12 19:16:11,836] ERROR Closing socket for /90.190.106.56 because > of error (kafka.network.Processor) > java.io.IOException: Connection reset by peer > at sun.nio.ch.FileDispatcherImpl.read0(Native Method) > at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39) > at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) > at sun.nio.ch.IOUtil.read(IOUtil.java:197) > at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:379) > at kafka.utils.Utils$.read(Utils.scala:375) > at kafka.network.BoundedByteBufferReceive.readFrom( > BoundedByteBufferReceive.scala:54) > at kafka.network.Processor.read(SocketServer.scala:347) > at kafka.network.Processor.run(SocketServer.scala:245) > at java.lang.Thread.run(Thread.java:744) > > I suspected that the problem is in the broker version > (kafka_2.9.1-0.8.1.1) so I downloaded kafka-0.7.1-incubating. > Now I was able to send messages using CSharp code. > > So is there workaround how I can use latest kafka version and CSharp ? Or > What is the latest kafka version supporting CSharp producer? > > -- > Best regards, Margus (Margusja) Roo > +372 51 48 780 > http://margus.roo.ee > http://ee.linkedin.com/in/margusroo > skype: margusja > ldapsearch -x -h ldap.sk.ee -b c=EE "(serialNumber=37303140314)" > >