pthread bzw accept bug - oder dummer fehler? brauche hilfe
-
öhm das hilft jetzt aber auch nicht weiter
bytes = recv(sockfd, channel,sizeof(channel),0);
printf("Channel: %s", channel);wo soll da ein fehler seien
es gab davor eine version, da funktionierte alles wunderbar ( ja auch mit dem tid überschreiben und den beiden zeilen daoben ) doch da brauchte er 100% cpu, daher hab ich das mit der pipe eingebaut. funktioniert ja gut, nur plötzlich gehen die alten techniken anscheinend net mehr?!
# rm msdg2.c
Sehr viel über Sockets lernen.
Sehr viel über Threads lernen.und dann
# $EDITOR main.c
was ein schwachsinn, bleiben wir beim wesentlichen.
-
so, es scheint jetzt alles zu gehen. wie gesagt lagts weder an der tid geschichte noch an den beiden zeilen die du als fehlerhaft interepretiert hast
-
wo soll da ein fehler seien
Dein Code macht es unmöglich auf eine Verbindungstrennung der Clientseite zu reagieren. Außerdem werden evtl. auftretende Fehler nicht überprüft. Beides bezeichne ich als Fehler schwerster Art, da sie deinen Server davor bewahren stabil zu laufen.
es gab davor eine version, da funktionierte alles wunderbar ( ja auch mit dem tid überschreiben und den beiden zeilen daoben )
Unter wunderbar laufen verstehe ich etwas anderes als, "lässt sich zwar mit massig Warnungen kompilieren dafür SEGFAULT es nicht!"
was ein schwachsinn, bleiben wir beim wesentlichen
Das ist wahrscheinlich noch das Sinnvollste was du machen kannst. Am besten nimmst du noch ein Grundkurs ANSI-C dazu! Mir sticht da nämlich grad folgendes ins Auge:
#define MAXCLIENTS 49 struct client { [..] } client[MAXCLIENTS]; for ( c = 0; c <= MAXCLIENTS; c++) client[c].sockfd = -1;
mfg
-
es kommt keine einzige warnung, ich versteh garnicht was du hast
und was an den von dir genannten zeilen nun wieder fehlerhaft seien soll ist mir auch wieder schleierhaft.
-
und was an den von dir genannten zeilen nun wieder fehlerhaft seien soll ist mir auch wieder schleierhaft.
Deswegen sollst du dir auch Nachhilfe über ANSI-C besorgen.
-
freeka schrieb:
und was an den von dir genannten zeilen nun wieder fehlerhaft seien soll ist mir auch wieder schleierhaft.
Du schreibst in das 50. Array-Element, obwohl das Array nur 49 Elemente hat.
-
was?
wenn c <= 49 ist wird ne -1 reingeschrieben. ist c 50 ist es net mehr <= 49 und da wird nix mehr geschriebenegal, wie oben gesagt geht ja jetzt alles
-
und wo hast das array nur 49 elemente? es hat genau 50, 0-49
naja ihr seht wohl ueberall fehler. die tid sache funktioniert, die 2 zeilen wo du meintest das sei falsch geht, etc. ich hab auch keine segfaults und warning oder sonst was was du behaupted hast.
-
freeka schrieb:
und wo hast das array nur 49 elemente? es hat genau 50, 0-49
Und warum setzt Du dann MAXCLIENTS auf 49, wenn das Array 50 Elemente haben soll?
-
SG1 schrieb:
freeka schrieb:
und wo hast das array nur 49 elemente? es hat genau 50, 0-49
Und warum setzt Du dann MAXCLIENTS auf 49, wenn das Array 50 Elemente haben soll?
weils dann genau 50 elemente hat? ich versteh das problem nicht. dadurch das MAXCLIENTS 49 ist hat das array 50 elemente, die 49 halt + die null.
daher setze ich MAXCLIENTS auf 49, weil das array dann 50 elemte hat o_O
-
Nein. Der Grundkurs ANSI-C ist wohl wirklich noetig.
-
hi,
@ freeka: SG1 meint folgendes:#define MAXCLIENTS 49 struct client { [..] } client[MAXCLIENTS]; // entspricht client[49] => Arrayelemente von 0-48 => nur 49 Elemente keine 50
Bei der Anzahl der Elemente zählt man völlig normal. Nur beim Zugriff auf diese muss man beachten, dass das erste Element, das null Element ist und das letzte halt Anzahl-1.
Tschau Gartenzwerg
-
WAS?
das bedeuted
client[50]
da sind die elemente
client[0]-client[49] enthalten und das client[50] gibts garnicht?höre ich zum ersten mal oder ich habs damals nicht ganz gecheckt
@SG1 & gast__
war das zuviel verlangt? stattdessen immer nur diese arroganten kommentare "haha da ist wohl ein grundkurs ansi-c fällig". find ich ziemlich miesjedenfalls danke gartenzwerg... aber hier werd ich nicht so schnell wieder nachfragen auch wenn ich damit einigen unrecht tun werde
-
WAS?
das bedeuted
client[50]
da sind die elemente
client[0]-client[49] enthalten und das client[50] gibts garnicht?höre ich zum ersten mal oder ich habs damals nicht ganz gecheckt
@SG1 & gast__
war das zuviel verlangt? stattdessen immer nur diese arroganten kommentare "haha da ist wohl ein grundkurs ansi-c fällig". find ich ziemlich miesjedenfalls danke gartenzwerg... aber hier werd ich nicht so schnell wieder nachfragen auch wenn ich damit einigen unrecht tun werde
-
WAS?
das bedeuted
client[50]
da sind die elemente
client[0]-client[49] enthalten und das client[50] gibts garnicht?höre ich zum ersten mal oder ich habs damals nicht ganz gecheckt
@SG1 & gast__
war das zuviel verlangt? stattdessen immer nur diese arroganten kommentare "haha da ist wohl ein grundkurs ansi-c fällig". find ich ziemlich miesjedenfalls danke gartenzwerg
aber hier werd ich nicht so schnell wieder nachfragen auch wenn ich damit einigen unrecht tun werde
-
WAS?
das bedeuted
client[50]
da sind die elemente
client[0]-client[49] enthalten und das client[50] gibts garnicht?höre ich zum ersten mal oder ich habs damals nicht ganz gecheckt
@SG1 & gast__
war das zuviel verlangt? stattdessen immer nur diese arroganten kommentare "haha da ist wohl ein grundkurs ansi-c fällig". find ich ziemlich miesjedenfalls danke gartenzwerg
aber hier werd ich nicht so schnell wieder nachfragen auch wenn ich damit einigen unrecht tun werde
-
argh sorry für den... 4fach post? es kam nur der hier
Could not insert new word matches DEBUG MODE SQL Error : 2013 Lost connection to MySQL server during query INSERT IGNORE INTO phpbb_search_wordmatch (post_id, word_id, title_match) SELECT 470140, word_id, 0 FROM phpbb_search_wordlist WHERE word_text IN ('bedeuted', 'client', 'elemente', 'enthalten', 'garnicht', 'höre', 'ersten', 'damals', 'gecheckt', 'sg1', 'amp', 'gast', 'zuviel', 'verlangt', 'stattdessen', 'arroganten', 'kommentare', 'haha', 'grundkurs', 'ansic', 'fällig', 'find', 'ziemlich', 'mies', 'jedenfalls', 'gartenzwerg', 'werd', 'schnell', 'nachfragen', 'einigen', 'unrecht') Line : 252 File : /homepages/33/d68571482/htdocs/forum/includes/functions_search.php
naja
-
freeka schrieb:
@SG1 & gast__
war das zuviel verlangt? stattdessen immer nur diese arroganten kommentare "haha da ist wohl ein grundkurs ansi-c fällig". find ich ziemlich miesNoe. Dir wurde genau gesagt, wo der Fehler ist. Wenn Du den Fehler dann nicht siehst, kannst Du es immernoch nachschlagen. Dafuer gibts massig Buecher oder Tutorials.
Ausserdem: Nicht immer alles bierernst nehmen.
-
SG1 schrieb:
freeka schrieb:
@SG1 & gast__
war das zuviel verlangt? stattdessen immer nur diese arroganten kommentare "haha da ist wohl ein grundkurs ansi-c fällig". find ich ziemlich miesNoe. Dir wurde genau gesagt, wo der Fehler ist. Wenn Du den Fehler dann nicht siehst, kannst Du es immernoch nachschlagen. Dafuer gibts massig Buecher oder Tutorials.
Ausserdem: Nicht immer alles bierernst nehmen.
nun ich fühlte mich einfach verarscht. erst diese ersten beiden angeblichen fehler, und dann kam halt der 3. und ich war total überzeugt davon das es so richtig ist, und da ich schon 2 mal verarscht wurde und statt einer erklärung nur "lern ansi c lern sockets" etc bekam...
der kommentar mit den warnings war ja auch total daneben. es ging irgendwie ab den 2 post oder so nicht mehr dadrumm das eigentlich problem zu lösen, sondern viel mehr darum den source auseinander zunehmen und alles als fehlerhaft darzustellen. ich finde kritik schon ok wenn da was nicht in ordnung ist, aber nicht in dieser form
-
nun ich fühlte mich einfach verarscht. erst diese ersten beiden angeblichen fehler, und dann kam halt der 3. und ich war total überzeugt davon das es so richtig ist, und da ich schon 2 mal verarscht wurde und statt einer erklärung nur "lern ansi c lern sockets" etc bekam...
Ach du armes Bübli. Hat dir deine Mama nicht beigebracht, dass man vielleicht auf nicht so sehr auf seiner Meinung beharren soll? Die könnte ja immerhin falsch sein.
viel mehr darum den source auseinander zunehmen und alles als fehlerhaft darzustellen.
Alles was ich gezeigt habe sind die Fehler, die mir sofort ins Auge gesprungen sind. Das der Kot vor Fehlern nur so wimmelt, muss nicht wirklich bewiesen werden!
ich finde kritik schon ok wenn da was nicht in ordnung ist, aber nicht in dieser form
Was bedeutet dann Kritik für dich? Dir bei deinem scheußlichen Copy&Paste Werk helfen, so dass es "funzt"