Laden...

Welche Schnittstelle benötige ich?

Erstellt von Kingkook vor 11 Jahren Letzter Beitrag vor 11 Jahren 1.384 Views
K
Kingkook Themenstarter:in
69 Beiträge seit 2011
vor 11 Jahren
Welche Schnittstelle benötige ich?

Liebe Com,

ich bin noch recht unerfahren im Bereich der Client-Server Programmierung und brauche daher eine kleine Starthilfe, wie ich eigentlich vorangehen soll.Ich habe mir eine kleine WPF-Applikation geschrieben.Jetzt will ich (ohne sinnvolles Projekt, eher zum üben) gern eine kleine Android-App programmieren,mit der ich zum Beispiel eine kleine Nachricht an die WPF-Applikation schicken kann.Wie die Androidapp zu erstellen ist, ist erstmal nicht relevant.Meine Frage ist eher, welche "Art" von Server ich dazwischenklemme.ich dachte mir, dass ich zum Beispiel aus Android heraus eine Bestimmte URL aufrufe, in der ich zB einen beliebigen String übergeben kann.Der WebService soll diese gesendete URL auswerten (muss zB auch eine ID enthalten um den richtigen CLient zu finden) und soll diese Nachricht dann an den entsprechenden C#-Client weiterleiten.

Aber wie genau mache ich sowas?Brauche ich dafür im VisualStudio ewine ASP.NET Anwendung, oder WCF oder wie genau starte ich am besten? Und was ist der Unterschied zwischen ASP.Net WebANWENDUNG und ASP.Net WebDIENST ( und warum kann ich den im VisualStudio bei "neues Projekt" nicht auswählen)

Hoffe ihr könnt mir ein paar kleine Startschubser geben...

Vielen Dank im vorraus... Kooki

6.911 Beiträge seit 2009
vor 11 Jahren

Hallo Kingkook,

vom Prinzip her ist das dann sowas wie ein Chat. Mit diesem Stichwort solltest du genügend Information finden können.

Und was ist der Unterschied zwischen ASP.Net WebANWENDUNG und ASP.Net WebDIENST

Eine Webanwendung ist die allgemeinere Projektvorlage für ASP.net. Der Webdienst ist eigentlich gleich, nur dass zusätzlich für WCF die Vorlage angepasst wurde. Es macht keinen großen Unterschied was du wählst, da nachher das Eine in das Andere übergeführt werden kann und umgekehrt.

Bitte beachte [Hinweis] Wie poste ich richtig? Punkt 1.2

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

K
Kingkook Themenstarter:in
69 Beiträge seit 2011
vor 11 Jahren

Hallo gfoidl,

danke dir erstmal für deine Infos.Vllt habe ich es blöd beschrieben oder es ist von der Architektur her wirklich ähnlich aber meiner Meinung nach brauche ich schon was anderes als ein Chat.Es geht darum, dass ich ein Programm habe, welches sich mit einem Server verbinden soll.Dieser Server soll mehrere Verbindungen in verschiedenen Threads halten, so dass er jederzeit mit jedem beliebigen verbundenen Client kommunizieren kann.Diese Kommunikation soll aber durch eine Android-App ausgelöst werden.Zum Beispiel.

Ich habe auf meinem Rechner die Anwendung ( C# ) laufen, die eine eindeutige ID hat (zB abc123def).Alle anderen die die Anwendung auch benutzen haben dementsprechend eine andere ID.Jetzt soll sich meine gestartete Anwendung mit dem Server verbinden.Dieser kennt dann meine IP und den Port von dem aus ich mich verbunden hab, zusätzlich noch meinen Hostname oder was auch immer und natürlich meine ID.Diese Verbindung soll der Server jetzt aufrecht erhalten, solange der Client noch erreichbar ist.
Wenn ich jetzt auf meinem Handy meine App starte, habe ich dort die möglichkeit eine ID einzugeben.Ich gebe ihm also die ID abc123def.Jetzt drücke ich auf der App zB den Button "Client beenden". Die App soll dann an den Server einen String schicken (zB "close:abc123def") und der Server soll dann anhand der übermittelten ID wissen, an welchen der verbundenen C#-Anwendungen er den Befehl schicken soll, sich zu beenden.

Ich habe inzwischen ein wenig getestet, und mir ein kleines Client-Server Programm geschrieben, in der ich per Socket.Send(byte[]) Strings o.ä. verschicken kann.Meine Frage ist jetzt nur, ob ich diesen Multithread Server irgendwie als WebService o.ä. laufen lassen kann, um dann von Android aus vllt nur eine gewisse URL aufrufen zu müssen, in der alle Parameter stehen und der Server dann arbeitet.Oder ist das erforderliche Multithreading nur als .exe möglich.

Bitte um ein wenig Aufklärung, wie man sowas löst 😃

Danke dir/euch vielmals
Kooki

V
66 Beiträge seit 2010
vor 11 Jahren

Eigentlich hat gfoidl schon alle Hinweise gegeben.

Meiner Meinung nach rennst Du mit Sockets allerdings in die falsche Richtung, da Du hier eben den gesamten Kommunikationsstack selbst verantwortest.

Gerade wenn Du von dem Aufruf eines URL mit entsprechenden (GET-)Parametern redest, sei vielleicht noch WebAPI als Stichwort genannt.

Ansonsten kann ich mich gfoidls Hinweis auf Grundlagen nur anschließen.

16.834 Beiträge seit 2008
vor 11 Jahren

Es gibt eine sehr gute Beispielanwendung von ASP.NET MVC zusammen mit der WebApi und SignalR.

Das Vorzeige-Projekt diesbezüglich ist http://jabbr.net/