chat ohne threads?
-
Ich interessiert das auch sehr arg!
Falls jemand etwas darüber weiß, bitte schreibt es.
Danke
-
afaik hat ansi c keine threads.
im aktuellen ansi c++ scheinen auch keine zu sein.wird alles über zusätzliche libraries gelöst.
in denen sind dann im endeffekt systemcalls/API aufrufe, die die threads erzeugen.auf linux/unix gibt es wie schon gesagt, fork(), eine art "threading". eigentlich wird der ganze prozess kopiert und im kindprozess die funktion mit einem anderen return wert ausgestattet.
benutz select()
unter linux (oder cygwin emulation) kannst du sogar stdin als "socket" benutzen.
-
haste n gutes tut wo select genau erklährt wird?
-
Thread-Funktionen sind OS-Spezifsch. _beginthreadex wird unter VC6 und Windows
bevorzugt. Daneben gibts jedoch:
- für C http://sources.redhat.com/pthreads-win32/
- für C++ http://www.boost.org/doc/html/threads.html
-
Redhead schrieb:
_beginthreadex wird unter VC6 und Windows
bevorzugt.Unsinn.
-
kann man denn in einem windows konsolenprogramm überhaupt threads starten?
wenn ja wie? (meinetwegen auch c++ , api oder so
-
pixartist schrieb:
ok, wie schreibe ich denn theads in reinem c?
gibts da n tut oder so?
dankegar nicht. C kennt keine Threads. Da musst du OS spezifisch programmieren. Hier werden wir dir wenig helfen können.
-
hm also mit select hab ich den server jetzt hinbekommen, aber beim client is das problem, dass ich ja immer scanf anhabe damit der client was schreiben kann, allerdings kann ich währenddessen nicht empfangen !
kann man das auch mit select lösen ? ich wüsste nicht wie!
-
wie ich schon sagte, akzeptiert der select() call unter linux auch file descriptoren (neben den socket descriptoren)
also einfach stdin mit in die readfd mit aufnehmen
-
c.rackwitz schrieb:
wie ich schon sagte, akzeptiert der select() call unter linux auch file descriptoren (neben den socket descriptoren)
also einfach stdin mit in die readfd mit aufnehmen
ähm
ich hab kein linux
stdin?
readfd?
bitte erläutern
ich les die einkommenden daten mit recv()
-
wenn du kein linux hast, kannste cygwin nehmen und so tun als ob.
http://www.ecst.csuchico.edu/~beej/guide/net/html/advanced.html#select