Guten Abend,
momentan( seit gestern ) entwickle ich eine Network-Klasse (DotNETWork) und möchte
seinen Fortschritt hier dokumentieren.
Es verfügt zurzeit über zwei Klassen , dem DotTcpClient und den DotTcpServer<T> , und drei weiteren Klassen die wichtige Funktionalitäten implementieren.
Die Methode "Send()" der DotTcpClient-Klasse erlaubt dem Programmierer Typen beliebiger (!) Art zu versenden(Serialisierung).
Die Klasse DotTcpServer<T> erwartet als Typparameter eine Klasse die von IClient erbt.
Ein Beispiel-Programm:
Die Klasse die von IClient erbt:
Die Konsolenanwendung:
Unschwer zu erkennen ist, dass der Parameter der Methode "Send()" vom Typ "Objekt" ist.
Auch individuelle Klassen können versendet werden ( Stichwort : Serialisierung msdn.microsoft.com/de-de/libra…rializable(v=vs.110).aspx)
Zur Klasse : GitHub (Oder Dateianhang, danke an die Moderation)
momentan( seit gestern ) entwickle ich eine Network-Klasse (DotNETWork) und möchte
seinen Fortschritt hier dokumentieren.
Es verfügt zurzeit über zwei Klassen , dem DotTcpClient und den DotTcpServer<T> , und drei weiteren Klassen die wichtige Funktionalitäten implementieren.
Die Methode "Send()" der DotTcpClient-Klasse erlaubt dem Programmierer Typen beliebiger (!) Art zu versenden(Serialisierung).
Die Klasse DotTcpServer<T> erwartet als Typparameter eine Klasse die von IClient erbt.
Ein Beispiel-Programm:
Die Klasse die von IClient erbt:
C#-Quellcode
- public class User : IClient
- {
- public IPEndPoint ClientEndPoint { get; set; }
- public TcpClient TcpClient { get; set; }
- public BinaryReader BinReader { get; set; }
- public BinaryWriter BinWriter { get; set; }
- public void Call(object parameter)
- {
- int length = BinReader.ReadInt32();
- BinWriter.Write(length);
- BinWriter.Write(BinReader.ReadBytes(length));
- }
- }
Die Konsolenanwendung:
C#-Quellcode
- DotTcpServer<User> tcpServer = new DotTcpServer<User>(225);
- tcpServer.Run();
- Console.WriteLine("Server is running!");
- DotTcpClient client = new DotTcpClient("192.168.0.215", 225);
- if (client.Connect(60))
- {
- Console.WriteLine("Connected !");
- //SEND IMAGE
- client.Send(new Bitmap(@"image.png"));
- Console.WriteLine("SENT!");
- //RECEIVE IMAGE!
- Bitmap bitMap = client.Receive();
- bitMap.Save(@"received.png");
- Console.WriteLine("RECEIVED!");
- }
Unschwer zu erkennen ist, dass der Parameter der Methode "Send()" vom Typ "Objekt" ist.
Auch individuelle Klassen können versendet werden ( Stichwort : Serialisierung msdn.microsoft.com/de-de/libra…rializable(v=vs.110).aspx)
Zur Klasse : GitHub (Oder Dateianhang, danke an die Moderation)
Und Gott alleine weiß alles am allerbesten und besser.
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „φConst“ ()