Toon posts:

TCP/IP met Flash mogelijk?

Pagina: 1
Acties:

Verwijderd

Topicstarter
De vraag: Is het mogelijk met Flash MX gebruik te maken van TCP/IP?

Ik hou me normaal nooit bezig met windoze, maar nu wil een klant graag een vreemd soort chat applicatie hebben. Ik zat te denken om een soort flash chat proggie te laten ontwikkelen door een derde hiervoor, maar is dat wel mogelijk?

Kijk bijvoorbeeld naar Java, daar kan het wel, maar alleen naar de site waarvandaan de class is gedownload. TMF gebruikt dit onder andere. Flash heeft gewoon de voorkeur omdat het sneller is dan java.

Ik heb 't dan niet over de functies waarmee je http kan doen, maar echt ruwe TCP/IP. Bijv, kan je telnetten met flash?

TIA.

  • Willem
  • Registratie: Februari 2001
  • Laatst online: 22:08
Geloof niet helemaal dat je exact in de smiezen hebt wat wat is. Je kunt niet zonder meer stellen dat Flash sneller is dan Java want dat is gewoonweg appelen met peren vergelijken.

Je kunt met Flash getURL gebruiken wat erop neerkomt dat je bestanden (bv. perl/cgi/php etc) kunt aanroepen en dus via een bepaald protocol bepaalde handelingen kunt verrichten.

Motor (of auto) onderhoud bijhouden


Verwijderd

Topicstarter
willem169 schreef op 04 June 2003 @ 13:07:
Geloof niet helemaal dat je exact in de smiezen hebt wat wat is. Je kunt niet zonder meer stellen dat Flash sneller is dan Java want dat is gewoonweg appelen met peren vergelijken.

Je kunt met Flash getURL gebruiken wat erop neerkomt dat je bestanden (bv. perl/cgi/php etc) kunt aanroepen en dus via een bepaald protocol bepaalde handelingen kunt verrichten.
ik beschrijf 't misschien beetje verkeerd.
maar ik wil dus geen getURL gebruiken, want dat loopt over HTTP.

Stel nou gewoon dat ik wil telnetten met flash, kan dat?

En ja, java en flash is appels en peren, maar niet voor wat ik wil. Ja, java kan ook nog veel meer dan flash, maar dat gebruik ik niet. Ik wil een eenvoudige interface naar server en berichtjes uitwisselen. Dat is gewoon sneller in flash dan in java.

De vraag is dus heel eenvoudig, kan je met flash iets doen wat equivalent is aan 'int connect(int sockfd, const struct sockaddr *serv_addr, socklen_t addrlen)' ?

  • Clay
  • Registratie: Oktober 1999
  • Laatst online: 22-06 13:51

Clay

cookie erbij?

ik denk dat je een xml socket moet gebruiken dan. Daar kan het mee. En nou vergelijk je java weer met flash :) niet doen!

Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin


Verwijderd

Topicstarter
Clay schreef op 04 juni 2003 @ 13:16:
ik denk dat je een xml socket moet gebruiken dan. Daar kan het mee. En nou vergelijk je java weer met flash :) niet doen!
prima, da's denk ik wat ik zoek. thanx
(kan ik tenminste iets aan de klant vertellen)

Verwijderd

Je kan idd socket verbindingen maken vanuit Flash... Ik heb hier zelf al 's mee zitten stoeien, je maakt in principe gewoon verbinding met een IRC applicatie waarvan je steeds allerlei data doorgestuurd krijgt...

http://www.rhizome.org/carnivore/

Je kan met bijvoorbeeld JAVA een servertje scripten dat de TCP/IP verbindingen maakt e.d. waarna je met flash via het socket object met die JAVA app verbinding maakt... Er bestaan ondertussen een aantal soorten JAVA XML socket servers waardoor je in staat bent om mbv Flash een chat app te maken...

Verwijderd

Hee wat toevallig, ik ben hier nu zelf net ook naar aan t kijken (maar dan meer naar multiplayer gaming :D)

Enfin: Java is langzamer qua inladen van flash, maar qua server response tijd is t zeker sneller, flash is nou eenmaal niet gebouwd om connecties te onderhouden.

Maar ik begrijp dat java nu geen optie voor je is.

Dus wat je zoekt is geen xml socket, of zelfs geen java server (gateway lijkt me een beter woord)...

Tis iets wat macromedia zelf heeft bedacht, of liever 2 ietsen...

1e optie: Flash Communication server (zie Macromedia Flashcom site, speciale server die voor dit soort doeleinden (plus andere streaming media) bijzonder geschikt is, nadeel is wel dat je dit ook speciaal moet laten draaien en dat t je ook een hoop geld kost.
Maar dan heb je ook zeker de meest ideale, snelle en betrouwbare optie genomen

2e optie: De Flash Remoting components van macromedia gebruiken. Deze zul je wel speciaal moeten downloaden (zie Flash Remoting Download Page) en dan installen in je flash ontwikkel omgeving.
Hierna hangt het ervan af waar je server op draait. Als je servers op coldfusion mx draaien, dan kun je die .net components zo gebruiken.
Mocht je echter op php werken (lijkt me waarschijnlijk), dan zul je ook moeten kijken naar AMFPHP (zie AMFPHP site), dit is een soort gateway, die de troep die uit de netsockets van flash komt vertaalt naar iets wat leesbaar is voor php. (normaal gesproken kan alleen coldfusion dermee omgaan)
Voor een simpele tutorial over het gebruik van deze combo, zie -> Flash Remoting Tutorial (op t moment van schrijven is ie even offline, maar gister was ie er nog, en de server is 100% zeker niet inactief geworden :P)
Met deze 2 delen heb je in ieder geval al een snelle en betrouwbare manier van data verzenden naar en van een server.
NB: Overigens moet hierbij vermeld worden dat je met deze dingen geen data-push hebt vanuit de server, dus je zult nog wel met timers moeten gaan werken. Wil je per se data-push mogelijkheden, dan zul je toch echt naar flashcom moeten gaan kijken, of toch een java gateway opzetten op je site.

Dan rest je verder nog de keuze hoe je het server-side chat gedeelte wilt opzetten.
Als je dit gewoon met behulp van database dingen etc. wil doen, dan is dat iets wat je leuk zelf uit kunt vogelen.
Wil je echter per se via IRC werken, dan zul je nog even verder moeten kijken.
aantal opties hiervoor zijn:
1) IRCG, wel de beste en snelste, omdat t binair is, en geen php script oid. (geschikt tot 50.000 users) Probleem is wel dat t betaald is (tot versie 2.8 is t gratis, dus die zou je ook kunnen proberen te vinden.) en dat t als aparte server moet draaien (kan dus bijv. niet op een apache server draaien, of zelfs *naast* een apache server draaien.) Versie 4 van girc schijnt zo gebouwd te worden dat t ook als phpmodule in te laden is, maar goed, die is nog niet af, plus daar zul je zoiezo voor moeten lappen... Voor meer info zie IRCG website
2) phpirc, een irc gateway die geheel geschreven is in php. Tis wat langzamer doordat t allemaal script is, maar tis wel een goede gratis variant op ircg. (niet echt geschikt voor grote getalen mensen...) Officiële site is hier te vinden, maar die ligt atm even plat, even zoeken op google voor de file download(versie 1.2 is de laatste), en je bent onderweg.
3) zelf socket connecties schrijven in php om de irc gateway te maken, als je dat per se wilt.
Meer controle over wat er gebeurt, je kan bepaalde functionaliteit er bewust niet indoen, maar je kan t natuurlijk ook zelf deleten uit phpirc :)
Bij al deze opties heb je dan natuurlijk ook nog een server nodig waar je de ircd op op kan zetten :)

Dat is wat ik voor zover heb uitgevonden...
flashcom lijkt mij zelf t beste, aangezien het de snelste manier is om dit te doen (tis er tenslotte speciaal voor gemaakt), maar aangezien het nogal prijzig is, denk ik dat ik voorlopig even bij de bovengenoemde gratis oplossingen blijf.

Hoop dat je der wat aan hebt :)

Deel van bovenstaande info komt overigens rechtstreeks van de PHP Conference, voor iedereen die niet geweest is, pak de volgende (is in Duitsland d8 ik), want tis echt rete interessant :D

edit:
Omfg wat een hoop tekst, sorry voor jullie oogjes

[ Voor 6% gewijzigd door Verwijderd op 04-06-2003 15:34 ]


Verwijderd

Probeer dit eens :

http://ghostwire.com/resources/phpobject/

Dit een opensource variant van Flash Remoting. Werkt met PHP.

  • pagani
  • Registratie: Januari 2002
  • Niet online
Je kan ook een flash-servertje bouwen en een flash client, movieclips kunnen immers onderling communiceren (client stuurt bericht naar de sevrer, server maakt van alle inkomende berichten output en geeft deze aan alle clienten terug).

Of je 'koopt' flash communication server en je bent met een uurtje of twee klaar...

Verwijderd

Verwijderd schreef op 04 June 2003 @ 15:17:
Probeer dit eens :

http://ghostwire.com/resources/phpobject/

Dit een opensource variant van Flash Remoting. Werkt met PHP.
Dit is dus een variant op amfphp :) Tis maar net welke je voorkeur heeft...
Overigens is t verschil tussen deze en amfphp dat bij amfphp je de standaard macromedia remoting components gebruikt, en dit later vertaald naar iets wat leesbaar is voor php (via de amfphp gateway), en bij phpobject je juist een speciale php component hebt in flash, en weer minder vertaal troep serverside.

Voordeel van amfphp is dat je heel snel je code kan her gebruiken voor coldfusion servers (en voor als macromedia ooit de php variant van zn eigen spul gaat maken), voordeel van phpobject is dat je niet heel ingewikkelde gateways nodig hebt op de server...
johnnyv.nl schreef op 04 June 2003 @ 15:23:
Je kan ook een flash-servertje bouwen en een flash client, movieclips kunnen immers onderling communiceren (client stuurt bericht naar de sevrer, server maakt van alle inkomende berichten output en geeft deze aan alle clienten terug).

Of je 'koopt' flash communication server en je bent met een uurtje of twee klaar...
Volgens mij gaat dat niet werken, movies kunnen alleen maar op local niveau met elkaar communiceren, binnen dezelfde pagina dus. (popus ensow kan via javascript hulp).

En wat dat 'koopt' (aanhalingstekens) betreft: tis wel voor een klant, dus alles moet wel legaal en in orde zijn, anders raakt ie snel klanten kwijt...
Plus je gaat ergens een shell nodig hebben (niet iedereen heeft zn eigen colo's :))

[ Voor 27% gewijzigd door Verwijderd op 04-06-2003 15:41 ]


  • pagani
  • Registratie: Januari 2002
  • Niet online
Verwijderd schreef op 04 June 2003 @ 15:32:
Volgens mij gaat dat niet werken, movies kunnen alleen maar op local niveau met elkaar communiceren, binnen dezelfde pagina dus. (popus ensow kan via javascript hulp).
Dat is dus niet zo, je moet alleen in je movie aangeven dat er communicatie met een ander domein nodig is... (ben ff kwijt hoe dat moest, stond destijds wel op www.flashfreaks.nl)

Verwijderd

Ja, je kan wel remote movies inladen, maar ze niet als communicatie gebruiken tussen verschillende gebruikers...
Elke gebruiker laad gewoon dan dat filmpje opzich zelf staand in, tis niet zo dat een movie dan als server gebruikt kan worden...

Voor server Flash apps hebben ze speciaal flashcom geschreven, anders lijkt me dat hele programma compleet overbodig, niet? :)

[ Voor 10% gewijzigd door Verwijderd op 04-06-2003 15:47 ]


Verwijderd

Ik had net een erg lang stuk geschreven maar dankzij de fijne forumsoftware, die bij een wrong password alle ingevoerde tekst weghaald, was dat al weer weg.

In grote lijnen heb ik daarin gezegd:

Een heleboel klok-klepel verhalen in dit threadje, imho.

Je hebt in flashmx meerdere opties voor het bouwen van chatjes :

XMLSockets : Goedkoop, makkelijk, hoeft geen XML te versturen; kan ook je eigen protocol zijn; word ook al ondersteund in 5, dus brede userbase. Zijn zat gateways voor om naar normale 'chat' netwerken te komen, evenals flash/xml only servers. Vooral Jabber is leuk :) Voor het probleem van de topicstarter is dit duidelijk de beste oplossing.

FlashComm : Super mooie oplossing voor het bouwen van chat's en rich media toepassingen. Wel duur (al heb ik hier een gratis verkregen versie ... just like owen en bdisoke :) ), en ontwikkeling ligt direct op een hoger niveau (zoals het hoort te zijn; dit is geen speelgoedje...zoals flash vaak misbruikt word). Ben hier nu al een lange tijd mee bezig, en je blijft je verbazen wat er mee kan (zeker met de laatste player update zijn er ook weer een aantal dingen ernstig verbeterd). Dit is in principe 'de' oplossing voor het mooi developen van chat's etc.

Flash Remoting : Heeft eigenlijk niets van doen met het bouwen van chat's. Kan het zeker wel, maar de MM Remoting server is daar echt niet voor bedoeld. Is een beetje het atoombom op een muisje verhaal.


Nog even aan Wit Konijn. De flashplayer heeft in zijn C++ laag de mogelijkheid tot 4 verschillende netwerk protocollen, heeft meerdere rich media codecs ingebouwd, die ingesteld zijn op streaming data. Het is dan ook BS (no offence) om te zeggen dat flash niet is ingesteld op het onderhouden van netwerk verbindingen met een server. En geloof me, in de toekomst komt er nog meer aan.

[ Voor 22% gewijzigd door Verwijderd op 04-06-2003 22:41 . Reden: toevoeginkje 3 ]


Verwijderd

lmd dat ie de ondersteuning voor de verschillende protocollen wel derin gebouwd heeft zitten (anders kan je flashcom ook niet gebruiken), maar hoe maak je daar gebruik van buiten flashcom om? Tis leuk dat t erin zit enzo, maar als je t niet kan gebruiken, dan is 't verder niet echt nuttig. Overigens had ik over die opmerking wel iets langer mogen nadenken, dus bij deze, I stand corrected (zal in 't vervolg mn bewoordingen beter kiezen :P) Overigens heb ik niets over codecs gezegd, toen ik hoorde dat ze Sorenson Spark in MX gooiden, was ik zo blij als een kind :)

En dat er in de toekomst meer aan komt viel te verwachten, macromedia is ontzettend goed bezig. Alhoewel ik toch wel graag een autoback functie erin zou willen zien (brakke pc), maar verder niets dan lof voor MM, ben groot fan!

Flash Remoting doet eigenlijk niets wat je niet ook met XMLSockets kan doen, maar tis wel een snellere en in meerdere opzichten betere manier bij mijn weten. (Nou ook weer niet ontzettend veel diepgravend onderzoek in gedaan, dus pin me der niet op vast)

XMLSockets (& Remoting) heeft ook geen server-side datapush bij mijn weten. En dat is juist datgene wat je eigenlijk nodig hebt met een chat.

Nogmaals, ik heb flash niet ontwikkeld, meeste van deze kennis komt vooral van de mensen van macromedia die aanwezig waren op de phpconference plus wat seminars die ik daar heb gevolgd (aangaande ircg & amfphp), dus als er dingen niet kloppen, moet je t maar aan macromedia vragen... Maar dit zijn mijn bevindingen tot nu toe...
Dus B-Top, als je meer info hebt, share it share it! :D

Verwijderd

lmd dat ie de ondersteuning voor de verschillende protocollen wel derin gebouwd heeft zitten (anders kan je flashcom ook niet gebruiken), maar hoe maak je daar gebruik van buiten flashcom om?
Tsjaa, met XMLSocket (kom ik zo op terug) kan je dus al zat doen. Ik vind het niet meer dan logisch dat mm zijn eigen producten op elkaar afstemd, en in principe is dat dan ook hun goed recht. FlashComm is een extra service boven op flash (en iedereen vroeg zich maar af waarom de MX player nou zoveel groter was) en is dan ook een MM impementatie. Ik snap dit punt niet helemaal niet in die zin.
Alhoewel ik toch wel graag een autoback functie erin zou willen zien (brakke pc), maar verder niets dan lof voor MM, ben groot fan!
Autoback? in de Ide? leg ff uit?
Flash Remoting doet eigenlijk niets wat je niet ook met XMLSockets kan doen, maar tis wel een snellere en in meerdere opzichten betere manier bij mijn weten. (Nou ook weer niet ontzettend veel diepgravend onderzoek in gedaan, dus pin me der niet op vast)
Ik zal je er idd niet op vast pinnen, maar dat is echt niet waar.
Zonder er al teveel op verder te gaan, de koppeling tussen remoting en flash is echt 10x dieper dan xmlsockets, waar bijna alles client side geregeld dient te worden. Als voorbeeld : Je kan in flash&remoting in principe gewoon de functies en classes op de server aan roepen alszijnde zij lokaal draaien...en dus ook de resultset pakken, als AS object :)
XMLSockets (& Remoting) heeft ook geen server-side datapush bij mijn weten. En dat is juist datgene wat je eigenlijk nodig hebt met een chat.
Err, dat is dus juist waarom XMLSocket bij de introductie van 5 zo koel was; kijk eens in de actionscript dictionary naar : XMLSocket.onData(); zelfde geld voor remoting, maar dan niet meer met een klote xml tussen laag (die in mx al een stuk sneller parsde, maar dan nog.).

Again, ik loop je niet af te zeiken, just setting the facts straight.

[ Voor 4% gewijzigd door Verwijderd op 05-06-2003 01:31 ]


Verwijderd

Woei, zo leer ik nog eens wat...

ok ok, ik ga wel op zoek naar onData :D
Als er dus wel datapush inzit, dan ben ik wel ontzettend gelukkig

Laten we het maar houden op slechte voorlichting (en ik maar denken dat de macromedia afgevaardigden op de phpcon wel te vertrouwen waren :P, stelletje des-information gekken :()

Maar in principe beschikt Flash dus ook over de capaciteit om *direct* te connecten met een IRC server, of zie ik dat nou verkeerd? Of is dat functionaliteit die er wel is, maar niet bruikbaar tenzij t met macromedia components is?

Overigens hoeft de nofi comment er niet bij hoor, ik vroeg je tenslotte om commentaar, dacht wel redelijk gevorderd te zijn in flash etc., maar blijkt wel weer dat een wijs mens weet dat ie eigenlijk niets weet (en dat ik geen wijs mens ben), als ik t zo bekijk zijn er nog genoeg velden om te verkennen :D
Maar goed, tis altijd leuk om dingen te leren.

Oh en dat autoback: das een 3d Max ding, is basically een auto-save functionaliteit, zodat je bij een crash etc. niet meteen alles kwijt bent (zoals gezegd, brakke pc, wil nog wel eens om onverklaarbare redenen vastlopen...).
Pagina: 1