Ich benutze NetMQ für Interprozess-Datenkommunikation.
Ich benutze das NuGet-Paket Version 3.3.2.2 auf .Net 4.5
Ich möchte eine einfache Nachricht aus einer Zeichenfolge erstellen und über eine RequestSocket
senden.System.ArgumentNullException mit NetMQ.Msg.Put()
Ich bekomme immer System.ArgumentNullException
, obwohl keine der Instanzen in keinem Punkt null sind.
mein Selbst mit dem Code:
static void Main(string[] args)
{
string exampleString = "hello, world";
byte[] bytes = new byte[exampleString.Length * sizeof(char)];
if (bytes == null)
{
return;
}
System.Buffer.BlockCopy(exampleString.ToCharArray(), 0, bytes, 0, bytes.Length);
var clientMessage = new NetMQ.Msg();
clientMessage.InitEmpty();
if (!clientMessage.IsInitialised)
{
return;
}
clientMessage.Put(bytes, 0, bytes.Length); //throws exception!
}
ungerade. Es scheint nichts im [NetMQ-Code] (https://github.com/zeromq/netmq/blob/master/src/NetMQ/Msg.cs) für die Methode zu geben, die diese Ausnahme explizit auslöst. –
Das liegt daran, dass Ihre 'clientMessage' initialisiert ist, aber keine MsgType wegen' InitEmpty() 'hat. –
@diiN_ Wie wollen Sie es initialisieren? –