tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
200
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registriert seit
    Mar 2005
    Ort
    Bühl/Baden
    Beiträge
    2.330
    Hi,

    ich bastele zurzeit für ein Projekt an einem kleinen Server, der für verschiedene (interne) Aufgaben zuständig ist. Die Anwendung als Daemon laufen zu lassen und ihn in einen Socket (UNIX-Socket) zu binden, ist bisher kein Problem.
    Da ich aber noch Anfänger in diesen Sachen bin, weiß ich nicht genau, wie ich das mit den Clients machen soll. Ich dachte dabei an Threads, an die ich einfach den neuen Socket vom Client weitergebe. Kann ich diesen dann außerhalb des Threads einfach schließen oder wird dieser dann auch im Thread geschlossen? Nicht, dass ich dann 2 Sockets habe oder es zu anderen Problemen kommt. Oder würdet ihr mir generell zu einer anderen Methode raten?

    Desweiteren habe ich vor, dass ein bisschen was geloggt (in eine Datei) werden soll. Könnte ich da auf irgendwelche Probleme bzgl thread-safe stoßen? Wenn ja, wie umgehe ich das?

    Ich habe schon ein bisschen im Internet gesucht aber für einen Anfänger ist das alles ein bisschen undurchsichtig und bevor ich etwas kaputt mache frage ich lieber einmal nach.


    Wenn ich soweit gekommen bin, sind noch 2 oder 3 weitere Sachen nötig, die ich dann erst einmal noch selbst zu lösen versuche, bevor ich wieder angerannt kommt

    Danke schonmal.
     
    Gruß fanste

    Benutze bitte immer die passende Highlight-Tags.(z.B: für PHP [php] [/php] Allgemein: [highlight=SCRIPTSPRACHE]Code[/highlight] )

    Problem gelöst? Dann markiere das Thema bitte als erledigt!
    Beachte bitte die Netiquette. Insbesondere Punkt 15.

  2. #2
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.
    Zitat Zitat von fanste Beitrag anzeigen
    ich bastele zurzeit für ein Projekt an einem kleinen Server, der für verschiedene (interne) Aufgaben zuständig ist. Die Anwendung als Daemon laufen zu lassen und ihn in einen Socket (UNIX-Socket) zu binden, ist bisher kein Problem.
    Da ich aber noch Anfänger in diesen Sachen bin, weiß ich nicht genau, wie ich das mit den Clients machen soll. Ich dachte dabei an Threads, an die ich einfach den neuen Socket vom Client weitergebe. Kann ich diesen dann außerhalb des Threads einfach schließen oder wird dieser dann auch im Thread geschlossen?
    Du solltest dich wirklich erstmal mit den Grundlagen befassen. Es gibt doch genug Tutorials über Pthreads (worauf es ja wohl bei dir hinauslaufen würde).

    Threads teilen sich Resourcen. Deswegen muss man verschiedene Techniken anwenden damit sich mehrere Threads nicht ins Gehege kommen (Mutex, Conditional Variables etc.).

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  3. #3
    Registriert seit
    Mar 2005
    Ort
    Bühl/Baden
    Beiträge
    2.330
    Tutorials zu Threads habe ich schon ein paar durch. Genauso wie zu Sockets. Ich weiß nur nicht, ob ich speziell bei meinem Vorhaben (also beides in Kombination) irgendetwas besonderes beachten muss. Ich hab bisher nur mit neuen Prozessen bei Serveranwendeungen gearbeitet (Also pro client einer), was hier aber übertrieben wäre.

    Ich habe aber gerade noch etwas gefunden. Ich bin grad am schauen, ob ich damit besser zurecht komme.
     
    Gruß fanste

    Benutze bitte immer die passende Highlight-Tags.(z.B: für PHP [php] [/php] Allgemein: [highlight=SCRIPTSPRACHE]Code[/highlight] )

    Problem gelöst? Dann markiere das Thema bitte als erledigt!
    Beachte bitte die Netiquette. Insbesondere Punkt 15.

  4. #4
    Registriert seit
    Mar 2005
    Ort
    Bühl/Baden
    Beiträge
    2.330
    So, hab es nun hinbekommen. Danke für den dezenten Hinweis bzgl pthreads. Ich hab immer nur die "normalen" Threads durchgearbeitet. Habe dadurch nun etwas gefunden was mir perfekt geholfen hat.

    Die andere Sache, die ich noch vorhatte war, dass man wie bei Apache (-k start, stop, etc) den Dienst beeinflussen kann. Auch das habe ich soeben herausgefunden, wie das dort gemacht wird (das ist so einfach, dass ich da absolut nicht dran gedacht habe -> PID-File + kill() ...)

    Also Danke für die indirekte Hilfe
     
    Gruß fanste

    Benutze bitte immer die passende Highlight-Tags.(z.B: für PHP [php] [/php] Allgemein: [highlight=SCRIPTSPRACHE]Code[/highlight] )

    Problem gelöst? Dann markiere das Thema bitte als erledigt!
    Beachte bitte die Netiquette. Insbesondere Punkt 15.

Ähnliche Themen

  1. CSocket mit threads, mehrere Clients
    Von thekiller im Forum C/C++
    Antworten: 7
    Letzter Beitrag: 26.02.10, 20:49
  2. Java Serveranwendung
    Von Nord-Süd-Richtung im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 11
    Letzter Beitrag: 03.12.09, 08:47
  3. Server verwaltet Clients per Threads
    Von MrBean06 im Forum C/C++
    Antworten: 9
    Letzter Beitrag: 05.12.07, 15:57
  4. Web-Clients (ICQ,MSN,Miranda)
    Von mc_gulasch im Forum Microsoft Windows
    Antworten: 0
    Letzter Beitrag: 29.06.06, 15:28
  5. Antworten: 6
    Letzter Beitrag: 24.11.05, 13:56