TCP/IP & BSD Sockets

  1. nxthor

    nxthor Thread StarterMacUser Mitglied

    Mitglied seit:
    05.09.2005
    Beiträge:
    7
    Zustimmungen:
    0
    Hi!

    Ich habe ein TCP/IP Server mit Xcode geschrieben, den ich u.a. auch per telnet ansprechen kann... (eigener Client kommt erst noch)

    Problem ist aber, das das Server-Programm abschmiert, wenn ich die Console kill, auf der telnet läuft. Mein Server soll aber das nicht tun :(. daher dachte ich mir, ob man da nicht timeouts verwenden sollte, und google brachte mich auf select(). Leider sind alle Erklährungen die ich bisher zum Thema fand, nicht für die BSD sockets unter c++ gedacht, und meine Sockets auf objC umstellen wollte ich auch nicht mehr. Ich brauche nur eine möglichkeit, meinem Befehl
    read(i_socket, MESSAGE, sizeof(MESSAGE) - 1);
    einen timeout zu geben, das würde auch gleich ein anderes Problem lösen (Der Thread merkt zwischendurch, das er von außen abgestellt werden soll --> Schleifenparameter)
    Vorschläge und Workarounds immer zu mir :) - evtl stehe ich auch nur vor dem Wald und suche Bäume :rolleyes: ...

    Danke schon mal,
    NX
     
    nxthor, 20.09.2005
  2. H.Stony

    H.StonyMacUser Mitglied

    Mitglied seit:
    27.03.2004
    Beiträge:
    553
    Zustimmungen:
    0
    bei mir war das immer so: wenn ein client geht/stirbt kommt auf das readv eine nachricht mit übertragnene bytes (also rückgabewert): -1

    also könntest du einfach auf -1 prüfen und sonst thread killen
     
    H.Stony, 24.09.2005
Die Seite wird geladen...
Ähnliche Themen - TCP BSD Sockets
  1. MalefixOmo
    Antworten:
    32
    Aufrufe:
    3.716
  2. mykill
    Antworten:
    7
    Aufrufe:
    1.722
    ObiTobi
    13.05.2010
  3. Phin
    Antworten:
    3
    Aufrufe:
    3.197
  4. nameac
    Antworten:
    17
    Aufrufe:
    1.081
    Diskordia
    06.08.2007
  5. tom555
    Antworten:
    3
    Aufrufe:
    606