IRC Bot in C++ mit News Modul: 2. Socket (select() || pthreads) oder mysql?
-
Hi,
ich bin grad dabei mir einen irc bot in c++ zu schreiben. der bot läuft auf einem linux server und connected per socket ins irc.
nun will ich aber ein news modul hinzufügen, d.h. sobald jmd im irc !news oder ähnliches eingibt, soll der bot mit einer funktion die letzten drei schlagzeilen einer homepage (die auf dem selben server wie der bot liegt) im irc posten.
hierbei hab ich jetzt zwei möglichkeiten:1. ich benutze einen zweiten socket um die schlagzeilen aus einer bestimmten php datei auszulesen
2. ich benutze mysql++ und verbinde mich mit der datenbank auf dem server
dazu muss ich sagen, dass ich die erste methode favorisiere, hab ich mit mysql++ bis jetzt keinerlei erfahrung.
das problem ist bloß, sollte ich die socket methode realisieren, brauch ich entweder select() oder pthreads damit beide sockets laufen.
da ich mit sowohl mit select() als auch pthreads keine erfahrung hab stellt sich die frage, was ich jetzt machen soll, das projekt sollte leicht portierbar sein, da es auf dem server unter linux und auf meinem lokalen testpc unter windows läuft. (mir ist bis jetzt auch keine win alternative zu pthreads bekannt)
ich wäre froh, wenn mir jemand einen rat und vllt auch links zu einem guten tutorial oä geben könnte, danke:)
-
Die Threads und Socket sind nicht Platformunabhängig. Zu Threads gibts wa von Boost, bei den Socket weiß ich es nicht so genau.
-
ja ok, aber bei sockets is der aufwand wenigstens sehr gering... nur n paar andere header und n bisschen code, das wars, geht mit #ifdef _WIN32 kinderleicht... bei den threads dürfte das net so einfach sein, aber wie gesagt, da kenn ich mich net soo gut aus
-
ich würde select() nehmen um mehrere clients zu bedienen... Habe selbst nie Probleme mit X-Systemen und Windows gehabt und konnte die selben Sourcen ohne #ifdef nutzen.
-
select ist nur was für Profis.
-
hi, paar infos zu select:
http://madwizard.org/view.php?page=tutorials.networking.chapter5&lang=cpp
http://www.c-worker.ch/tuts/select.html
http://www.zotteljedi.de/doc/socket-tipps/index.html
http://www.zotteljedi.de/doc/socket-tipps/index.htmlcu
-
letzten beiden 2 seiten waren diese gemeint:
http://www.zotteljedi.de/doc/socket-tipps/select.html
http://www.zotteljedi.de/doc/socket-tipps/select_ganz_genau.htmlcu