Ich habe einen einfachen TCP-Server in C# geschrieben, Ping-out-Daten in einem bestimmten Intervall und die Daten erhalten, die ich eine NodeJS-App habe.NetworkStream write() mit Ereignisname
Ich bin Strom, um die Daten von einem NetworkStream
wie so zu senden:
private NetworkStream nwStream;
nwStream = clientMachine.GetStream();
nwStream.Write(buffer, 0, buffer.Length); // Inside a loop
Und es in NodeJS wie Empfang:
client.on('data', (data) => {
Gibt es eine Möglichkeit, eine andere Veranstaltung zu emittieren, anders als data
von meinem C# TCP-Server? Mit Socket.io kann ich socket.emit('customEvent', someData)
und bekomme es wie socket.on('customEvent', receivedData)
, aber ich bin mir nicht sicher, ob ich das in C# erreichen kann.
Ich arbeite nicht mit Socket.io, das obige ist nur ein Beispiel für das Verhalten, das ich erreichen möchte.
Wenn Sie mit socket.io sprechen, müssen Sie das Protokoll socket.io beachten: https://github.com/socketio/socket.io-protocol - vermutlich, dass Sie erfahren, wie Sie benutzerdefinierte Ereignisse codieren Namen –
Ich spreche nicht mit Socket, das war nur ein Beispiel für das Verhalten, das mir bekannt ist. Ich verwende einen 'NetworkStream' in C# und einen' net.Socket() 'in Node. –
Wenn Sie Raw-Sockets an beiden Enden verwenden, müssen Sie nur Ihr eigenes Protokoll entwerfen, das einen Namen in jeden logischen Rahmen einbettet ... TCP-Sockets selbst haben keinen solchen Mechanismus, noch rohe Pakete –