Problem je sledeci:
Rec je o klijent/server aplikaciji koja u sebi sadrzi i jednostavni chat. Korisnici se putem klijenta konektuju na server iz raznih delova sveta, i izmedju ostalog tamo i chatuju. Chat je u aplikaciji lose odradjen, tako da ako posaljete tacno odredjeni string serveru svi klijenti koji ga prime dozive neku vrstu buffer overflow-a koja zamrzne klijentsku aplikaciju. Klijent i server komuniciraju putem TCP protokola.
Mene interesuje najbolji nacin da se "zakacim" izmedju svog klijenta i servera (da osluskujem odredjeni port) i u paketima koji mi stizu trazim dati string (ili neki pattern). Ako paket u sebi ne sadrzi string (ili pattern) onda propustim paket klijentu, a ako ga sadrzi onda da uradim nesto sa njim (npr. da javim serveru da je primljen, a da sam paket odbacim, ili da izmenim string u paketu i propustim ga klijentu).
Nemam mnogo iskustva sa mreznim programiranjem, ali poznajem neke osnove. Svi saveti i linkovi odakle mogu da saznam vise o ovoj temi su dobrodosli. Takodje ako postoje gotova resenja za ovakve stvari ona bi bila vise nego pozeljna.
Hvala unapred.
void main() doesn't work?
A: It has been reported that programs using void main() can crash.
Q: The book I've been using, _C Programing for the Compleat Idiot_,
always uses void main().
A: Perhaps its author counts himself among the target audience.