ugrás a tartalomhoz

flash-php-mysql kommunikáció chat kialakításához

peachman · 2007. Okt. 29. (H), 13.45
Szeretnék egy Flash felületű Chat oldalt kialakítani. A működtetés elvére lennék kíváncsi esetleg rövid kis mintának örülnék. Lenne egy ötletem, de szerintem ennél jóval kifinomultabbak léteznek.
Az ötlet:
Flash oldalon a kliensek egy gomb hatására az új hozzászólásokat egy PHP-nak küldik el, ami mysql táblában tárolná ezeket.
A flash bizonyos időközönként meghívna egy PHP-t, ami az új hozzászólásokat elküldené vissza a kliensnek.
De azt szeretném valahogyan kiküszöbölni, hogy ha nincs új hozzászólás, ne legyen felesleges kommunikáció.
Tehát a flash ne hívja a PHP-t és az ne küldjön vissza semmit. A PHP oldalon egyszerűen megoldom, hogy ne küldjön semmit, a probléma a felesleges PHP hívással van. Az lenne a jó megoldás, hogy a php valahogyan automatikusan küldene a csatlakozott klienseknek adatot, ha új hozzászólás érkezik. És itt van a pont ahol elakadtam. Ehhez kérnék segítséget, illetve ha jobb ötlet van szívesen fogadom.
Köszönöm előre is!
 
1

megfelelő eszközök

zila · 2007. Okt. 29. (H), 14.13
A megfelelő eszközöket kellene használni a megfelelő feladatra. Ha már flash akkor én csinálnék egy pici kis chat szerver-t (akár php-ban, de inkább másban) és a flash ehhez a szerverhez kapcsolódnak socket-en. Így ha valami történik a socketen a szerver tudja küldeni az információkat nem kell pollingozni semmit. Vagy lehet próbálkozni COMET-tel, az is hasonló bár szerintem még kiforratlan és hackszagú dolog :)
2

Socket

peachman · 2007. Okt. 29. (H), 14.28
Köszönöm a segítséget, utánnanézek hogyan működik ez a Socket dolog. Még nem használtam. Esetleg ha van valakinek kéznél örülnék példa megköszönném, de keresek természetesen.
Jó lenne egy példa, ahogy egyszerűen Socket-en kommunikál a két program, mert elakadtam. :(
3

Socket hiba

peachman · 2007. Okt. 29. (H), 18.27
Közben sikerült socket-el megoldani a kapcsolatot, de ha a flash html oldalban van beépítve nem működik, nincs kapcsolat. Ha önállóan indítom van. A flash player nem engedi ki a kapcsolatot. :(
10

Biztosnági korlát

vbence · 2007. Nov. 1. (Cs), 13.34
Csak ahhoz a szerverhez tudsz kapcsolódni, ahova a html odlaladat felraktad (mint ez köztudott).
4

Flash Szerver

tlof · 2007. Okt. 29. (H), 20.32
Van egy Java-ban programozható ingyenes flash szerver A Milenia. Egy magyar srác irja, és chatet is kapsz hozzá mint demó alkalmazást.

Az hogy a player hova csatlakozhat ki az a security sandbox és a crossdomain.xml -ek kombinációiból adódik.


Egyébbként vagy benyeled a fölösleges php hivásokat, vagy valamilyen stream szerverrel próbálkozol.
5

én nem használnék flasht, javat egy szimpla chat kedvéért

amonrpg · 2007. Okt. 30. (K), 07.20
egy szimpla chat kedvéért szerintem felesleges flasht használni.
http://chat.theba.hu

100% html + css + javascript + php :o)
igaz, mivel szabadidőmben faragom, közel sincs még kész, de már nincs messze az alagút vége :p
6

Milyen terhelést bír?

zila · 2007. Okt. 30. (K), 11.21
Próbáltad már mérni, hogy milyen terhelést bír? sok user sok szobában?
7

jelen helyzetben még nem, de...

amonrpg · 2007. Okt. 31. (Sze), 07.18
tervezem.

A probléma az, hogy nem egyedül én vagyok a szerveren, és nincs jogom (újra)indítani az apache-ot pl. No meg, nem egyedül használom a szervert, így bedögleszteni nem nagyon szabad. Ha rá tudom venni valamikor a közeljövőben a szervertulajt, hogy maradjon fenn egy kicsit éjjel, és legyen online is, akkor lesz mesterséges terheléses teszt.
De ez is annyit jelent, hogy a már kész, előre gyártott scripteket fogom futtatni 5-6 különböző gépről.

Sajna egy időben, 20-nál több embert nem hiszem, hogy be tudnék szervezni egy valódi teszthez. :( Pedig az lenne az igazzy.

Az eddigi adatok amúgy biztatóak. Az extra hosszú sorok beszúrása sem tart tovább 0.05sec-nél, a lekérdezések ideje meg eddig még nem kúszott 0.015 fölé. Teljes PHP futásban mérve, fájlba logolva.
Igaz, eddig egyidőben 15 ember volt jelen. Plusz, nem dedikált szerver, így nehéz megmondani, hogy valójában mekkora is lehet a terhelés a szerveren.

Egyébként csúszó polling-idő van benne, azaz minél régebben szóltál hozzá, vagy küldtél adatot a szerverre, annál ritkábban kérdezel le a szerverről. Minden lekérdezésnél 1sec-cel nő a két lekérdezés közti idő, egészen addig, amíg inaktivitás miatt ki nem rúg a cucc.

Szóval hamarosan próbálkozom terheléses teszttel, és ha érdekel, közzéteszem. :) Csak előtte be kéne fejezni az utolsó "apróságokat". (pl. profil-szerkesztés, meg ilyenek... :D)
9

érdekel

zila · 2007. Nov. 1. (Cs), 11.54
természetesen érdekel a terheléses teszt, esetleg próbálkozhatsz valamilyen terhelés tesztelő programmal is és akkor nagyságrendekkel több "userre" tudsz tesztet csinálni (pl. Jakarta JMeter, esetleg a Selenium, bár ez nem kifejezetten terhelés tesztre van)
8

flash chat

toro · 2007. Okt. 31. (Sze), 11.18
nezd meg ezt, 5 dollarert le tudod tolteni es sok erdekes infot nyerhetsz a mukodesre vonatkozoan
11

Van egy chat protokoll

vbence · 2007. Nov. 1. (Cs), 13.40
.. ami sok éve csiszolódik, úgy hívják IRC. Találsz egy ingyenes irc szervert (pl. UnrealIRCd), ehhez kacsolódsz a flash klienseddel és küldöd meg kezeled az üzeneteket.

A HTTP architerktúra (request-response) egyértelműen alkalmatlan erre a feladatra. Legfeljebb készíthetsz pluszmunkával egy áthidaló réteget (cometet iframe-mel vagy pollinggal), de sose lesz olyan jó, mint ami erre lett kitalálva.
12

ja, van

amonrpg · 2007. Nov. 5. (H), 07.38
Csak a webes chatnek van egy tagdhatatlan előnye. 80-as portról működik. Azaz ha böngészni tudsz, használni is tudod az alkalmazást.

Amúgy igazad van, sosem lesz olyan jó, csak elegendően jó tud lenni egy ilyen pollingos cucc. A körülményekhez képest. :D
13

valóban

vbence · 2007. Nov. 5. (H), 10.37
Ha a célközönség számtechórán unatkozó középiskolások valóban nincs a 80-as porthoz fogható dolog :)
14

meg az...

amonrpg · 2007. Nov. 5. (H), 23.19
...unatkozó titkárnők és titkárok, alkalmazottak és főnökök... stb.
Nem elhanyagolható szempont, ha az ember nem egy szűk rétegnek fejleszt. Márpedig tetszik, vagy sem, a csetelők jórésze melóhelyről (is) csetel. Tehát ha letiltják neki az IRC-re általában használatos portokat, de a 80-as korlátozás nélkül megy, akkor máris ott a dilemma. Megéri használni az IRC-t? Kevesebb júzer....
Arról nem is beszélve, hogy sok dolog megoldható már JS-sel, pofonegyszerűen. A JAVA-s mammut, agyzsibbasztó, csetnek csúfolt csigalassú izékre meg kár is szót vesztegetni. Ha nem lehet JS, akkor inkább flash.