Ja ich hab es jetzt mal endlich gebacken bekommen 😁
Verbindung aufgebaut, Authentifizierung abgeschlossen, etc. 8)
Nuuur... Wie verschicke ich am besten meine Daten aus eigenen Klassen. 🤔
Verbindung wurde mit TcpClient aufgebaut. Und primär verschicke ich die Daten über BinaryWriter und BinaryReader!
Wie würde ich nun ein Objekt einer eigenen Klasse verschicken?
Gruß und vielen Dank für jeden Hinweis im Vorraus 🙂,
Daniel
Hallo,
indem Du die Klasse serialisierst, z.B. mit nem BinaryFormatter, Stichwort Serialisierung, ISerializable, SerializableAttribute.
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca
Vielen Dank für das Stichwort ...
Ich werd mich sofort an das Thema setzen 🙂
Hallo Misery,
eventuell ist auch Remoting ein Stichwort hierfür. Man kann aber über dessen Verwendungszweck streiten. Ich selbst habe keine Probleme mit Remoting.
Gruß
Norman-Timo
A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”
Ich hab mir gestern mal ein wenig Serialisierung angesehen (leider nicht genug Zeit gehabt um es komplett zu testen) und es sieht zum einen sehr einfach aus und zum anderen erfüllt es genau das, was ich machen will.
Remoting sagt mir aber auch noch nichts und ich werd es mir auch mal anschauen! Dankeschön!
Bei Remoting wird sowieso Serialisierung eingesetzt (Binary- oder SoapFormatter). Der Vorteil ist nur, dass der ganze TCP-Kram wegfällt.
Remoting ist in jedem Fall der einfachste Weg.
Dann schau ich mir das auf jeden Fall nachher mal an.
Hört sich auf jeden Fall brauchbar an 🙂
Dankeschön!
@svenson
Original von svenson
Bei Remoting wird sowieso Serialisierung eingesetzt (Binary- oder SoapFormatter).
aber dafür muss die Klasse doch ebenfalls serialisierbar sein oder täusche ich mich da?
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca
Genauso ist es. Aber ich vermute mal, mit dem "aber" willst du auf irgendwas hinaus...
@svenson
wollte nur sichergehen, daß ich da nicht irgendwelchen mist verzapft habe.
das aber hat dabei eigentlich nix zu bedeuten 😉
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca
Hallo MarsStein,
das aber hat dabei eigentlich nix zu bedeuten
eigentlich
--> Du reitest Dich immer mehr in die Sch* 😁 😁
*grins*
Norman-Timo
A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”
Original von norman_timo
--> Du reitest Dich immer mehr in die Sch* 😁 😁
Norman-Timo
freitag mittag -> hirn fährt schon runter 😁
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca
Ich hab mich mal an das Problem gemacht, weil jemand bei uns dachte, es ginge nicht. ca. 1,5h später hatte ich dann das komplette wiederverwendbare mini-framework um Objekte übers Netzwerk zu verschicken beisammen.
Zur vorgehensweise: Objekt bestimmen, das serialisiert werden soll.
Dessen Klasse muss mit XML-Serializer-Attributen versehen sein.
Erweiterter XML-Serializer hat die Methoden Box und Unbox.
Box serialisiert den Stream.
Unbox konvertiert ihn wieder zurück.
Definition der Rümpfe:
bool Box(object _objectToSerialize);
object Unbox(string _sString);
mit
CClass myTempClass = (CClass)m_XmlSerializer.Unbox(m_XmlSerializer.GetBufferAsString());
kann dann das ganze wieder zurückgewandelt werden.
Hier ein Beispiel für die Klasse die serialisiert werden soll:
using System;
using System.Collections.Generic;
using System.Text;
using System.Xml.Serialization;
namespace CXmlSerializerTest
{
[Serializable]
[XmlRootAttribute()]
public class CClass
{
public CClass()
{
}
public CClass(string _sName)
{
Name = _sName;
}
[XmlAttribute]
private float m_fTimeInterval = 3.6f;
[XmlAttribute]
private string sName = "Hallo";
public string Name
{
get { return sName; }
set { sName = value; }
}
[XmlAttribute]
public string sTest = "blub";
[XmlAttribute]
private int nValue = 0;
[XmlAttribute]
private string sTest2 = "blub2";
public int Value
{
get { return nValue; }
set { nValue = value; }
}
}
}
Und es funktioniert wunderbar. Leider kann ich hier kein Beispiel für den Code einfügen, da dieser für unsere Firma verwendet werden soll und wohl auch wird.
Seit der Erkenntnis, dass der Mensch eine Nachricht ist, erweist sich seine körperliche Existenzform als überflüssig.