Schlüsselbegriffe zur Socketkommunikation
-
Hey,
Wie erkenne ich ob über ein Socket mit ggf. anderen Anwendungen auf Applicationsservern anhand des Quellcodes kommuniziert wird?
Was wären die Schlüsselbegriffe dafür?

Grüße Watercase
-
Wa bitte?
-
watercase, merk Dir folgendes:
Die Kunst die richtigen Antworten zu bekommen ist die Kunst die richtigen Fragen zu stellen.
lg Max
-
lol
-
lol
-
Seine Frage sieht zwar kryptisch aus aber ich denke er möchte einfach alle Befehle haben die was mit Socket Programmierung ui tun haben.
-
MisterX schrieb:
Seine Frage sieht zwar kryptisch aus aber ich denke er möchte einfach alle Befehle haben die was mit Socket Programmierung ui tun haben.
Was aber ziemlich schwierig ist, da es x Bibliotheken zur Socket-Programmierung gibt.
-
Ich nehme an, es geht immer noch um dieses Problem, korrekt?
http://www.c-plusplus.net/forum/viewtopic-var-t-is-214702.htmlTipp: Schau dir die Doku von RT Worker (Broker) an.
Ansonsten würde ich mal mit einem erfahrenen Kollegen zusammensitzen...
Simon
-
Es gibt Menschen die wollen nichts verstehen und Menschen die es nicht können.
Zu welchen der einzelne gehört, muss für sich selbst entschieden werden.
1. richtig, vom MisterX aufgefasst.
2. Badestrand. schwierig ist gut und viele Bibs.
3. Wenn es einen erfahren Kollegen geben würde, würde ich hier schreiben?
4. Simon richtig.- Also, wie soll das Problem gelöst werden, wenn jeder sagt das es schwierig ist?
Mit der Einstellung können wir die Community schließen.
"Das Forum ohne Lösungen".
PS: es muss doch irgent einen Wege geben.....
-
Ok, ein bissl Brainstorming, vielleicht hilfts was: Socket, Client, Server, Conn, Comm, asio, IP, Port, Address, Connect
-
Das meine ich, doch. Jedes Gespräch bringt meinst einen positiven Nebeneffekt mit sich.
_____________________________________________________________________________
1. Bzgl. des Problems komme ich nicht wirklich weiter, es sind soviel Ordner, das man echt nicht weis wo man anfangen kann.2. Meine Entdeckung in der Ordnerstruktur ist folgende, ein bestimmter Teil der Ordner endspricht den Komponenten im Programm (8 unterschiedliche Progr. je Lokalität (diese wären 6 )). Der Ordner "inc" enthält alle .h files.
3. Sagen wir mal das Programm heißt MS Word und die Komp. sind bspw. (Format, Grafik, Seriendruck usw.). jetzt möchte man ja herausbekommen was Word macht.
Dh. Word speichert, sendet, empfängt - nur wie und von wo und wohin?Gegen wir davon aus das jedes .h file eine Bibliotek ist, somit müsste ich herausbekommen, welche für die Kommunikation genutzt wird. Dies könnte ich erreichen in dem ich nach nach Befehlen im Code suchen wie connection(), send(), get() usw. Kennt man die Namen der Bibs. könnte man in den einzelnen Komponenten nach der Bib. suchen und schauen welche Funktionen etwas senden,empfangen usw..
Kann das ein Lösungsweg sein?
Was kann ich jetzt noch machen? Noch Ideen?
-
watercase schrieb:
Gegen wir davon aus das jedes .h file eine Bibliotek ist, somit müsste ich herausbekommen, welche für die Kommunikation genutzt wird. Dies könnte ich erreichen in dem ich nach nach Befehlen im Code suchen wie connection(), send(), get() usw. Kennt man die Namen der Bibs. könnte man in den einzelnen Komponenten nach der Bib. suchen und schauen welche Funktionen etwas senden,empfangen usw..
Hört sich doch ganz gut an! Ich würde dazu einfach das ganze Projekt laden (nutzt du Visual Studio?) und die IDE alle Dateien durchsuchen lassen (mit VS Strg+Umsch+F). Dabei aber nicht unbedingt nach konkreten Befehlen, sondern einfach mal "socket" oder "connect" suchen lassen mit Groß-Kleinschreibung als "egal" und auch nicht "ganzes Wort suchen", eben so dass du alle Source-Stellen rausbekommst, die irgendwie "socket" beinhalten. Eventuell lässt sich dann schon was am Dateinamen erkennen oder am Funktionsnamen oder der umgebenden Klasse oder dem Namensraum.
Dann halt schauen, was für Variablen da benutzt werden, welche Bibliothek und alles weiterverfolgen bis zum "Ursprung", dann alles suchen, was den "Ursprung" benutzt.

-
VS habe ich hier leider nicht.
Somit das was man ggf. free downloaden kann.Win2000 hat eine Suchfunktion die richtig geil ist, "Enthaltender Text" Suche gibts unter Xp nicht bzw. konnte ich nicht finden.
Denke auch das es der richtige Weg jetzt. Mit der Suchefkt habe ich schon einigen Socket.h files usw. finden können. Echt gut, jetzt eben mal schauen wie und wo diese eingebunden werden.
Will mich an der Stelle alle Beteiligte vorab bedanken, habt mir gut geholfen.
-
Ohhhhhha...
ALSO^^, wenn das stimmt:
MisterX schrieb:
Seine Frage sieht zwar kryptisch aus aber ich denke er möchte einfach alle Befehle haben die was mit Socket Programmierung ui tun haben.
... dann solltest Du Dir ein neues Problem suchen
.Das geht nämlich nicht. (Oder genauer: Alle Bibliotheken abzudecken, ist sozusagen unmöglich...außerdem, wie willst Du herausfinden, was ein kompiliertes Programm gerade macht? Oder versteh ich Dich da grad falsch?!
)
-
Ich habe denn gesamten Quellcode, daraus muss es doch möglich sein die Kommunikationsschnittstellen zu ermitteln.
Ob du dies Compilieren kannst weis ich nicht. Vermutlich schon, aber nur das gesamte System.? oder
Prinzipiell kann doch gesagt werden, wenn eine Variable / Funktion auf eine Socket-Bibiliotek zugreift, diese dies nutzt um irgent wie nach aussen zu kommunizieren. Oder wieso wird diese einbezogen?
Meine Aufgabe ist nicht alles bis ins tiefest Detail herauszubekommen. Es reicht vorab auch wenn man nur einen Teil herausbekommt.
IRGENT ETWAS MUSS MAN DOCH HERAUSFINDEN KÖNNEN???

-
Ob du dies Compilieren kannst weis ich nicht. Vermutlich schon, aber nur das gesamte System.? oder
Hä ?
Sag mal, weißt du eigtl. genau was du machen willst ?
Wenn du den Quelltext vor dir liegen hast, dann werden die Programmierer, die ihn geschrieben haben ihn auch (einigermaßen) leicht verständlich geschrieben haben, um ihn bei gewünschten Modifizierungen leichter ändern zu können. Es mag ja sein, dass du bei deinem Produkt ein Programm vor dir liegen hast, das viele einzelne *.c / *.cpp - Dateien umfasst, aber das sollte ja eigtl. kein Problem sein.
-> Schau dir doch einfach mal die Namen der Dateien an. Die verraten in 90% der Fälle bereits, was sich dahinter verbirgt. (Network.h, ...)
Wenn das Programm auch nur einigermaßen logisch (z.B. mit ungarischer Notation) aufgebaut ist, so sollte es ein leichtes sein, die Kommunikationsschnittstelle(n) in Form von Klassen und einzelnen Funktionen zu finden.Wenn die Kommunikation nicht mittels Api-Funktionen wie socket() oder MFC-Klassen geschieht (CSocket, CAsyncSocket) - also bereits 4 Keywords, die du im Quelltext suchen lassen kannst - dann werden wohl *3rdParty- Funktionen benutzt, die in Form von DLLs ausgeliefert werden und die in die .exe mit verlinkt werden.
-> Folglich kannst du Programme wie "Pe Explorer" o.Ä. verwenden, um die Importierten DLLs in der fertigen Exe anzuzeigen (-> Import Address Table).
Damit kannst du dir einen Überblick verschaffen, welche Bibliotheken benutzt werden. Die importierten Funktionsnamen lässt du dann einfach dein Windows2000-System im Quelltext suchen. Und fertig...::EDIT: Hatte ich ganz übersehen:
Gegen wir davon aus das jedes .h file eine Bibliotek ist, somit müsste ich herausbekommen, welche für die Kommunikation genutzt wird. Dies könnte ich erreichen in dem ich nach nach Befehlen im Code suchen wie connection(), send(), get() usw. Kennt man die Namen der Bibs. könnte man in den einzelnen Komponenten nach der Bib. suchen und schauen welche Funktionen etwas senden,empfangen usw..
Kann das ein Lösungsweg sein?
Was kann ich jetzt noch machen? Noch Ideen?Ja, was willste denn mehr ?

Da hast du ja schon eine Vorgehensweise. Einwandfrei...
PS: Lass dich nicht von den vielen Dateien und Ordnern abschrecken.
Das ist im Grunde nur positiv: Desto mehr einzelne Dateien und Ordner, desto logischer ist IMHO das Programm aufgebaut. Und die einzelnen Komponenten sind folglich umso deutlicher voneinander abgegrenzt.
Guck doch mal die Dateinamen an. Die werden ja wohl nicht "Datei1.cpp" oder "Unsinn.h" heißen. Schau einfach mal, ob du ne "Network.h" oder ne "Socket.h" siehst. So viele Dateien und Ordner können es gar nicht sein.
-
Danke Xzibit
Da hast recht, es ist alles Strukturiert und auch eindeutig - nur eben sehr sehr viel.
Des Weiteren möchtest nicht nach einem bestimmten Vorgehen handeln und am Ende stellt sich heraus das es so nicht geht.Danke. habt mir schon gut geholfen.