Meine täglich arbeit besteht aus dem Kampf C# und dessen Tücken und Fallen in den Griff zu bekommen. Ich werde hier meine Erfahrungen kund tun. Denn wer will schon auf seinem Wissen sitzen. Vielleicht hat der ein oder andere das gleiche oder ein ähnliches Problem. Und mein Betrag kann Dir helfen dein Problem zu lösen.
Im Moment arbeite ich viel in der Microsoft Welt. Dazu gehören Problemchen mit dem SQL Server, C#, Windows Services, Web Services, Regulären Ausdrücken und was man sonst noch so unter Windows alles treibt.
Klar werden einige sagen "Klaro, mit LAMP gäbst die Probleme nicht !". Mag sein das es DIE Probleme nicht gibt, dafür aber andere ! Wenn ich mit einem nichts anfangen kann dann sind es diese ewig andauernden Grabenkämpfe zwischen Linux-Windows, Oracle-SQL Server, Amiga-Atari usw. Oftmals hätte man es gerne anders, leider geht das nicht immer. In den seltensten Fällen hat man doch die freie Auswahl die Programmiersprache, OS oder die Datenbank zu wählen. Ich hatte zwar mal das Vergnügen. Leider hab ich dann, wenn ich auf ein Problem gestoßen bin, einfach eine andere Programmiersprache gewählt. Das Ergebniss kann sich jeder vorstellen. Ich hatte dann VBA Anwendungen in Access und Excel geschrieben, VB Anwendungen gleich hinterher. Auf den UnixServern habe ich dann kunterbunte Scripte mit sed und awk getackert, PERL und Phyton Scripte reingeballert, auf der Datenbank ellenlange Informix 4GL Scripte geschrieben. Ich möchte nur nicht wissen was die von mir gedacht haben als sie, nachdem ich das Unternehmen verlassen habe, die Scripte warten mußten.
Letzendlich bleibt es dabei das keine Sprache perfekt ist, und du immer auf Probleme stößt, die du in anderen Sprachen einfacher lösen kannst. Aber so wie Larry Wall, der Vater von PERL, meinte, das es doch eine Sprache geben müßte in der man die Stärken von SED, AWK, C und den anderen Sprachen in einer vereint. Genau das hat er gaten und in seiner Sprache PERL verwirklicht.
Letztendlich ist man doch selbst mehr oder weniger in der Lage ein Feature einer Sprache in seine eigene "Muttersprache" zu portieren. Meist sind es doch einfache Klassen, manchmal auch Frameworks, die einem das Leben erleichtern. Der Vorteil daran ist doch das man, wenn man Sie portieret, ganz genau darüber nachdenkt was unter der Haube eigentlich passiert.
Mich hat schon immer brennend interresiert wie Protokolle und Verfahren unter der Haupe funktionieren. Damit meine ich zb HTTP, SMTP, POP3, SIP. Das einfachste ist, sich einen Client selbst zu stricken. Dazu genügt oftmals das googlen nach "implement http client c#". Dazu werdet Ihr gleich ein paar mehr oder weniger brauchbare Beispiele finden, die man sogleich mal selbst nachprogrammiert.
using System; using System.Net; using System.Net.Sockets; using System.Text; namespace SimpleMail { class Class1 { [STAThread] static void Main(string[] args) { Socket _Socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream,ProtocolType.Tcp); IPEndPoint _IPEndPoint = new IPEndPoint(Dns.Resolve("mail.gmx.net").AddressList[0],110); _Socket.Connect(_IPEndPoint); _Socket.Send(Encoding.Default.GetBytes("HELO XYZ")); byte[] _Response = new byte[1024]; int _Rx = _Socket.Receive(_Response, 0, _Response.Length, SocketFlags.None); string _Result = Encoding.Default.GetString(_Response,0,_Rx); Console.WriteLine(_Result); Console.ReadLine(); //... ToByContinued ;) } } }Schön auch wieder das zu sehen. Weil ich nun das Code Snipet hier genauso zeigen wollte, wie es in der IDE von .Net erscheint bin ich über diese Seite gestolpert. Hier kann mann Quellcode von C#, VB oder HTML/XML in HTML konvertieren. So was wollte ich auch mal für ne Online doku machen ... werd ich wohl auch ;)
So, für heute erst mal genug. Bin mal wieder kreuz und quer durch die Themen geritten, aber so ist das nunmal ;)
Also bis die Tage,
Ciao,
NXTan
... link (0 Kommentare) ... comment