Elikkä kun yritän konnuttaa serverille telnetin avulla (o 127.0.0.1 7000), heittää vaan segmentation faulttia ruudulle. (ohjelma kääntyy ongelmitta)
Olen vasta aloittelija sockettien kanssa joten itse on osaa tuota korjata.
Kiitos avusta ^^
Käytät koodissasi varaamattomia muistiosoittimia. Nämä ainakin ovat ohjelman lähteitä.
Esittelet rakenteen:
struct session_data { int type; // session type. 0:server 1:player int status; // session status. 0:connected 1:disconnect char *rbuffer, *wbuffer; int rbuffer_size, wbuffer_size; } *session[DEFINE_MAXSOCK];
Ja käytät sitä varaamatta muistia sille:
len = read(tmp, session[tmp]->rbuffer, session[tmp]->rbuffer_size); session[tmp]->rbuffer_size = len;
Siitä siis se segmentation fault :D Kiitos avustasi.
Ilmoittelen jos tulee viellä errorira.
http://goblin.tkk.fi/c/tutorials/gdb.html
Kannattaa opetella käyttämään tuota tai jotain muuta debugeria. Ei tarvi arvailla mistä segfaultit tulee vaan näkee suoraan rivinumeron missä vika on...
Aihe on jo aika vanha, joten et voi enää vastata siihen.