VNC ist ein Programm ähnlich wie Remote Desktop... Da wird dir Veency wahrscheinlich nicht viel helfen... Weil das wie der Name schon sagt nur ein V N C server ist... Ein iPhone App zu schreiben ist nicht so schwer... Hast du die Möglichkeit an einen Mac zu kommen?
Du hast dir deine Frage doch schon fast selber beantwortet... Bau dir ein Programm für das iPhone/iPod, welches dir auf Anfrage übers Netzwerk eine Liste der Lieder an den PC schickt und Befehle entgegennimmt und auf dem Device ausführt...
public static class BestellungFactory
{
public static IBestellung bestellungForPKW(...)
{
IFahrzeug pkw = FahrzeugFactory.getPKW(...);
return new Bestellung(pkw);
}
}
Und wenn du auf die Properties zugreifen willst kannst ja auch noch auf den konkreten Typen casten.
Kann das gerade leider nicht testen, ist aber ne tolle Sache. Kenne das schon von Qt, da gibt es so ziemlich das gleiche und da gefiel mir das schon. Werde ich bei Gelegenheit mal benutzen.
Das erklärt, warum deine App blockiert... Wenn die ganze Zeit auf Daten gewartet wird, blockiert das GUI. Siehe dazu bitte [FAQ] Warum blockiert mein GUI?
Was mir auch nicht ganz einleuchtet sind die ellenlangen Sleeps, die sich durch deinen Code ziehen. Aber der Netzwerkkram läuft schon in einem eigenen Thread, oder?
while ((inputB = client.Receive(puffer)) == 0)
{
System.Threading.Thread.Sleep(1000);
}
Socket.Receive blpockiert, bis etwas ankommt, von daher bracuhst du die Schleife nicht. Nur danach auf 0 prüfen. Ansonsten solltest du evtl. noch die Erstellung des Sockets posten.
Bekommst du eine Exception, oder was passiert? UDP ist ein verbindungsloses Protokoll, kann also nicht die Verbindung verlieren. Erstelltst du jedesmal einen neuen Socket, wenn du etwas schickst? Schließt du die Sockets nach dem senden wieder?
Wie genau du das nu zeichnest kann ich dir leider nicht sagen, aber Das sind ja einfach Parabeln die auf der Seite liegen und sich wiederholen. Hoffe das hilft dir schonmal.
Hallo,
als ich damals auf der Cebit war (weis nicht mehr genau wann, so um den Dreh 2003, als Intel noch mit dem P4 im GHz Wahn war) gab es damals schon einen Stand, bei dem irgendeine asiatische Firma mit spezieller Kühlung die CPU auf 4,6 GHz getaktet hatte. Heute wäre da bestimmt noch einiges mehr drin.
Gruß
Hi,
naja... zumindest bei den x86 Prozessoren hat sich die Taktrate schon seit Jahren nicht mehr erhöht, sondern es sind immer mehr Kerne gekommen. Von IBM gibt es aber z.B. den Power6, den es schon mit 5GHz zu kaufen gibt. Da kann man sicher noch was rausholen.
Also C# ist sicherlich einfacher zu erlernen als C++, dennoch muss man dazu sagen, wenn man die Arbeitsweise eines Computers verstehen will sollte man sich auch C/++ und/oder ASM mal anschauen. Ist auf jedenfall seh interessant und schaden tut es definitiv nicht.
Also ich denke es wird niemals DIE Programmiersprache geben. Es wird immer auf den Anwendungsfall ankommen. Beispielsweise wird man im embedded Bereich immer bei den Low-Level Sprachen bleiben, da man sich einfach keine Verzögerungen erlauben kann. Wer will schon, dass die Bremse oder der Airbag erst ne halbe Sekunde später reagieren? ^^ Syntax ist eher Nebensache. Natürlich gibt es grausame Sachen, aber die aktuellen Sprachen sind imho alle gut lesbar. Es ist halt auch immer Geschmackssache. Einige Leute finden die Syntax von Objective-C z.B. grauenhaft und schwer lesbar, ich finde sie absolut logisch und super. Bei zunehmend "einfacheren" Programmiersprachen gibt es imho das Problem, dass immer mehr Leute meinen sie müssten programmieren, obwohl sie eigtl. keine Ahnung davon haben. Java ist ein gutes Beispiel. Java ist relativ simpel und wird sehr häufig verwendet. Viele Quereinsteiger benutzen diese Sprache und bauen ziemlich viel Blödsinn damit. Man muss sich nur die Performance einiger Java Anwendungen angucken..... grauenhaft.
Ich mag persönlich sehr gerne Sprachen, die in Maschinencode übersetzt werden, weil sie wesentlich mehr Performance bieten, aber ich mag auch Interpretierte Sprachen, vor allem dynamisch Typisierte, wie z.B. Ruby, da diese sich imho sehr gut für Webanwendungen eignen.
Die Programmiersprache ist eher zweitrangig, du kannst es prinzipiell in jeder Sprache machen. Kommt halt auch auf dein Zielsystem an. Soll es auf möglichst vielen Systemen laufen nimm am besten C oder Java. Für den "Entscheidungsteil" schwört der KI-Guru an meiner Hochschule auf Prolog. Scheint mir auch relativ gut geeignet zu sein, da es genau für sowas entwickelt würde.
Such dir nen Kumpel und mach ne GbR... Die heisst dann z.B. Müller & Kaiser GbR, aber du kannst gleichzeitig einen "Werbenamen" eintragen lassen, unter dem die Firma nach aussen auftritt. Das ganze kostet dich einmalig zwischen 20 und 50 €. Umsatzsteuer musst du bezahlen, kannst aber Firmenanschaffungen natürlich absetzen, Einkommenssteuer musst du nur bezahlen, wenn du über 7200 € im Jahr kommst, also 600/Monat.
Das habe ich ja auch nicht gesagt. Aber es gibt schon einige Open Source Projekte, die auch nicht gefördert werden. Ich bin auch niemand der sagt, dass alles was nicht Open Source ist nicht "böse" ist. Sonst würde ich keinen Mac benutzen. Ich finde nur, dass es gut ist, dass es Open Source gibt. Ich sage nur, dass man nicht Open Source verteufeln soll, aber trotzdem den Code nutzen. Damit würde man andere für sich arbeiten lassen und denen dafür noch ins Gesicht treten.
@Golo: Die müssen ja nicht unbedingt als Softwareentwickler arbeiten... vielleicht arbeitet ja auch ein Open Source Entwickler hauptberuflich als Maurer.
Ja, Opensource ist eine geniale Idee und hat einen gewissen Aspekt von einer idealen Welt. Das blöde ist nur - außer im Softwarebereich funktioniert das (fast) nirgendwo. Denn der Bäcker, der Metzger und die Apotheke wollen doch letztlich Geld von mir sehen, das wiederum irgendwoher kommen muss.
Naja... es kommt inzwischen immer mehr nicht Software Open Source. Z.B. Open Source Filme, wie Big Buck Bunny, oder Open Source Hardware: http://en.wikipedia.org/wiki/Open_hardware
Also es funktioniert schon, nur haben eben noch zu wenige die richtige Mentalität.
Zitat von progi123
Andererseits bin ich dem kosmischen Zufall dankbar, dass es solche Seiten wie CodeProject.com gibt. Ohne manche Open Source Projekte würden meine eigenen viel mehr Zeit in anspuch nehmen. Man müsste quasi das Rad jedesmal neu erfinden.
Du meinst also, dass Open Source Entwickler dir in die Suppe spucken, aber wenn du dir deren Code zu Nutze machen kannst ist es gut? Das ist irgendwie eine Doppelmoral. Wenn du es ablehnst, dann benutz auch nicht deren Code.
@Golo: OpenBSD ist meines Wissens nach nicht von einer Firma gefördert und auch ein großes Projekt, welches auch regen Zuspruch findet.
Hehe, du meinst, ich sollte den Socket im Aufrufenden Thread schliessen (nicht im Workerthread, welche Socket.Accept aufruft und anschliessend am warten ist?
Nein, du sollst Socket.Close() vom Main Thread aus aufrufen, der Socket wird geschlossen, im Listener Thread wird ne Exception geworfen, weil er nicht auf nem geschlossenen Socket arbeiten kann und der Thread wird nach dem behandeln der Exception Ordnungsgemäß geschlossen.
Edith meint: Wer lesen kann ist im Vorteil :-) Hattest das ja schon richtig geschrieben... Man sollte eben nicht gleichzeitig im Forum schreiben und nebenbei versuchen dem Prof zuzuhören :D
Ich studiere Angewandte Informatik an der HAW Hamburg im 2. Semester und arbeite nebenbei an Projekten verschiedener Firmen mit. Momentan eine iPhone Applikation (ein spezieller Netzwerkmonitor) und eine Flex Applikation. Ich programmiere momentan hauptsächlich Objective-C, C und C++. Im letzten Semester war es Ruby, dieses Semester Java, C, Prolog und ASM.
Unter .Net habe ich noch nicht mit sowas gearbeitet, aber der iPhone Simulator kann es, also sollte das mit anderen wohl auch möglich sein. Wäre ja auch schlimm, wenn man immer auf dem Gerät arbeiten müsste.
Das Aufteilen auf die Kerne macht er automatisch, nur du musst es so programmieren, dass es eben auch für mehrere Kerne Sinn macht. Also es auch wirklich mehrere Threads gibt, die last erzeugen. Sonst werden deine Kerne nicht ausgelastet.