login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Socket based php chat

Offline Martijn2008 - 11/08/2011 17:43
Avatar van Martijn2008PHP beginner Hallo allemaal,

Ik wil me graag wat verdiepen in het werken met sockets door een simpele PHP chat te bouwen. Heb je hier ervaring mee en heb je tips waar ik op moet letten, dan hoor ik dat graag. Overigens ben ik benieuwd of jullie misschien nog wat interessante tutorials of voorbeeld scripts weten.

Dank alvast voor je hulp!

Martijn

4 antwoorden

Gesponsorde links
Offline ThAlmighty - 12/08/2011 00:32
Avatar van ThAlmighty HTML beginner Ik heb er ook een tijd lang mee geklungeld. Hoewel het mogelijk is in php, is het verre van optimaal. PHP is niet bedoelt voor dergelijke doeleinden en de Socket classes die ze bieden is eigenlijk alleen voor snelle verbindingen, geen persistente verbindingen.

Dat was de demotivatie, maar je gaat het natuurlijk toch gewoon doen. Ben je opzoek naar een single threaded of multi-threaded? (ik weet dat de termonologie in deze niet juist is, maar wel sprekend genoeg)
Offline Martijn2008 - 12/08/2011 15:07
Avatar van Martijn2008 PHP beginner Multi-threaded betekent toch meer dan 2 gebruikers ?
Offline Thomas - 13/08/2011 12:48
Avatar van Thomas Moderator Sockets gebruik je meestal als je ergens mee wilt communiceren via een bepaald protocol. Heb je al een idee wat voor protocol je zou willen gebruiken? Ik heb ooit ook zoiets moeten maken en heb toen gezocht naar PHP-code die het protocol (in dit geval Jabber oftewel XMPP) implementeert want je wilt zoiets waarschijnlijk niet from scratch schrijven. Ik heb toentertijd niet veel bruikbaars kunnen vinden. Ook zijn er volgens mij een heleboel spinoffs van XMPP die allemaal weer net iets anders kunnen.

Uiteindelijk heb ik toen een chat gemaakt (dit alles was voor een intranet) in PHP/MySQL en met behulp van jQuery is het een en ander wat meer "realtime" gemaakt. Deze chat bevatte een lijst van op het intranet ingelogde personen. Je kon met een of meer van deze personen een 1-op-1 conversatie voeren (dus geen chatrooms met meerdere gebruikers ofzo). Ik kan je zeggen dat dat al aardig ingewikkeld was, plus, omdat jQuery continu pingt om te zien of er nieuwe berichten zijn in een conversatie heft dit ook zijn tol op de servercapaciteit. Met een hoop ingelogde gebruikers loopt het aantal requests al snel hoog op.

Anyhoo, websites zijn "turn based" zeg maar, terwijl chat-achtige programma's meer "continu" zijn als het ware, dus tenzij je zoiets als een JAVA applet hiervoor gebruikt zul je aardig wat moeite moeten doen om iets in PHP(/MySQL) te maken wat een chat simuleert.
Offline ThAlmighty - 13/08/2011 15:01
Avatar van ThAlmighty HTML beginner Multi-threaded betekent eigenlijk dat er meerdere worker-threads draaien. Dat lukt zowiezo niet met een php scriptje. Maar inderdaad, ik bedoelde of je meerdere gebruikers "tegelijkertijd" wou. (tegelijkertijd staat tussen haakjes omdat het officieel na elkaar zou moeten zijn)

Vooralsnog: PHP is er niet voor bedoelt, maar het kan wel. Als je bijvoorbeeld chat functionaliteit wil, zou je ook kunnen kijken naar bijvoorbeeld HTTP long polling of Comet.

Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.167s