AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Pointer in C#

Ein Thema von Neutral General · begonnen am 20. Dez 2008 · letzter Beitrag vom 21. Dez 2008
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#11

Re: Pointer in C#

  Alt 20. Dez 2008, 21:50
Zitat von Dax:
Zitat von Neutral General:
Mal so nebenbei... Oder sollte man einen Server, der auch auf Linux laufen soll vielleicht doch eher mit C++ schreiben?

Wenn ich mir das hier so durchlese zweifel ich langsam daran, dass C# die richtige Sprache ist...
Mono
Was genau ist Mono? Mono ist doch "nur" eine IDE oder?
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Pointer in C#

  Alt 20. Dez 2008, 21:51
Zitat:
Was genau ist Mono? Mono ist doch "nur" eine IDE oder?
Nein eine alternative Implementierung der VM, Runtime und diversen Kompilern
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#13

Re: Pointer in C#

  Alt 20. Dez 2008, 21:56
Köntest du den Playerstate nicht einfach als Text übertragen? also z.B. dezimal mit Leerzeichen getrennt:

1273 -73674 25062 -7246284

Das kan man dann einfach trennen und einzeln zuweisen - oder kommt es sehr auf Geschwindigkeit an?

Edit: Alternativ kannst du ja auch sowas machen:

id = arr[0] + arr[1] << 8;
x = arr[2] + arr[3] << 8 + ...

Ein kleines bisschen Schreibarbeit, aber schneller als Strings
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#14

Re: Pointer in C#

  Alt 20. Dez 2008, 22:35
Zitat von jfheins:
...
Also das mit den Strings geht auf keinen Fall. Es kann gut sein, dass der Server später viel zu tun haben wird. Da darf der Server seine Zeit nicht mit irgendwelchen Strings verschwenden.

Zurzeit bin ich mir C++ am anschauen. Ich kann mich nicht so richtig mit diesen Frameworks anfreunden

Werde dann wohl entscheiden ob ich C++ oder C# nehme. Was ist denn objektiv gesehen geeigneter?
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.640 Beiträge
 
#15

Re: Pointer in C#

  Alt 20. Dez 2008, 22:47
Zitat von Neutral General:
Werde dann wohl entscheiden ob ich C++ oder C# nehme. Was ist denn objektiv gesehen geeigneter?
Eigentlich ist eine managed Umgebung (Java / .NET) genau das Richtige für solche Server. Sie skalieren sehr gut, optimieren sehr gut und bieten durch die schiere Größe des Frameworks für so ziemlich jede Aufgabe bereits fertige Klassen. Zudem brauchst Du Dich beim Entwickeln nicht um den Speicher zu kümmern. Der wird ja verwaltet. Zudem hat das ganze zwei weitere große Vorteile: Memory Leaks sind ausgeschlossen. Ein kleiner Fehler im Memory-Management in C++ und Dein Server produziert Memory Leaks. Die sind schwer zu finden und beeinflussen die Stabilität des Servers (irgendwann hat der Rechner halt keinen Speicher mehr). Nächster Punkt: Buffer Overflows sind ausgeschlossen. Da der Speicher von der Runtime verwaltet wird, wird da nichts bei irgendwelchen Copy-Operationen wo hin geschrieben, wo es nichts zu suchen hat und ggf. später ausgeführt wird. Insbesondere wenn Du einen Server schreibst der öffentlich läuft sollte dieses Sicherheitsplus auf jeden Fall für eine managed Umgebung sprechen.

Wenn Du mit C# nicht so gut zurecht kommst schau Dir mal Prism an

Aber ich denke, in .NET bist Du für so einen Server sehr gut aufgehoben. Und wenn Du im Prinzip vorne 'nur' Sockets und hinten z.B. eine Datenbank hast, dann läuft das ganze auf Mono auch ohne weiteres. Du kannst ja z.B. auch mit C# auf Windows direkt gegen Mono anstelle des .NET Frameworks von Microsoft entwickeln und testen. Dann läufts auch unter Linux *g*
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#16

Re: Pointer in C#

  Alt 20. Dez 2008, 22:56
Hi,

Also ich komme mit C# soweit eigentlich bisher ganz gut zurecht aber ich muss die Sache mit den Pointern wohl erstmal verdauen, weil... Wie soll ich nur ohne meine lieben Pointer programmieren?

Naja ich werd mich wohl nochn bisschen mit C# und dem .NET auseinandersetzen müssen...

Ich kann aber den Server auch erstmal "ganz normal" in C# (SharpDevelop) programmieren und dann später einfach mit Mono kompilieren oder muss ich dann alles umbauen?
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#17

Re: Pointer in C#

  Alt 20. Dez 2008, 22:58
Zitat:
Ich kann aber den Server auch erstmal "ganz normal" in C# (SharpDevelop) programmieren und dann später einfach mit Mono kompilieren oder muss ich dann alles umbauen?
Kommt darauf an, welche (GUI-)Bibliothek du benutzt. Es gibt auch eine Monoversion von SharpDevelop ( MonoDevelop)
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#18

Re: Pointer in C#

  Alt 20. Dez 2008, 23:07
Zitat von Neutral General:
Ich kann aber den Server auch erstmal "ganz normal" in C# (SharpDevelop) programmieren und dann später einfach mit Mono kompilieren oder muss ich dann alles umbauen?
Wen Mono das ist, was ich glaube das es das ist, dann brauchst du es nicht nochmal kompilieren (bzw. das wird ja für dich gemacht) sondern einfach nur die exe-datei kopieren und läuft

Das Compilieren zur IL ist noch plattformunabhängig und das JIT-Compiling wird ja transparent auf der Zielmaschiene durchgeführt ...
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#19

Re: Pointer in C#

  Alt 20. Dez 2008, 23:24
Was spricht eigentlich dagegen, die Daten in einen Stream zu schmeissen und dann Stück für Stück auszulesen? Da benötigt man doch keinen unmanaged code, Pointer o.ä...
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.640 Beiträge
 
#20

Re: Pointer in C#

  Alt 21. Dez 2008, 11:56
Zitat von alzaimar:
Was spricht eigentlich dagegen, die Daten in einen Stream zu schmeissen und dann Stück für Stück auszulesen? Da benötigt man doch keinen unmanaged code, Pointer o.ä...
Prinzipiell nichts. Das ist nämlich genau das, was der BinaryFormatter macht. Den baut man einmal für die Objektstruktur und gut ist. Den Rest erledigt das Framework.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz