Chtěl bych příklad v Haskellu, hrozně by mě zajímalo, jak se těmi zatracenými monádami napíše IM klient.
Ja jsem taky pro Python, ale Java mi taky nevadi.
At uz se vybere jakykoliv jazyk, myslim, ze by bylo dobre v clanku zvyraznit syntaxi, to je mozna podstatnejsi, nez vyber jazyka. Myslim, ze jsem to v nejakem clanku na Rootu videl. A rekl bych, ze by bylo docela dobre z toho udelat pravidlo. Tim by prinos clanku obsahujicich ukazky zdrojovych kodu dost vyrazne stoupl. Hej, hola, Johanko, co Ty na to?
A docela by me zajimalo, jak se muj prispevek psany 26.7.2004 19:24:25 dostal mezi 26.7.2004 13:45:48 a 26.7.2004 12:19:40. Zda se, ze redakcni system ma nejake musky...
java je dost citelna pro kazdeho, nevim, proc neco menit.
Neznamená. Howgh znamená "domluvil jsem", což jsi zjevně neučinil. ;-)
Hmm a ja pořád marně přemýšlím, jak by mohl Jabber jako protokol jednou pro webové služby nahradit protokol http... Jabber spokojeně používám už pár let, web používám o něco déle - ale vždycky jsem chápal IM jako něco dosti odlišného od webu...
Pod webovými službami sa v článku myslí to, čo v angličtine nazývajú webservices. Teda (dnes je to) to čo vychádza z protokolov SOAP a WSDL, prípadne UDDI pre registre. Inými slovami je to komunikácia medzi systémami fo forme XML. Http je "náhodou" použité vo webových službách na prenos. A nesúvisí to s jeho použitím na prenos www stránok.
Výhody jabberu pre webservices sú napr. v tom, že jabber umožňuje posielať asynchrónne správy. Teda druhá strana nemusí byť nevyhnutne online. Správa môže čakať ne serveri. Jabber rieši aj problémy s firewallom a NATom. Výhod je viac a určite sa objavia v článkoch.
Mno koukam, ze existuji pekne knihovny. Pokud bude zajem a pan autor ukaze dalsi zajimave veci, tak se bude rozsirovat :) - mrknete se tu http://ikiban.wz.cz/jab.jnlp . Pokud mate nainstalovanou javu, tak staci kliknout.
co znamena ten unrestricted access na disk ?? a kdo ti vydaval certifikat ?? fuj ;-)))))))))))
certifikat jsem si vydal sam :)) a programek obsahuje jen uvedeny priklad. Ale na druhou stranu verte mi :)) Muzu vam max poslat zdrojaky :)). Nicmene byl jsem liny na vytvareni security managera...
takovy krasny prostredi java vytvari, tak supr dupr security a " Nicmene byl jsem liny na vytvareni security managera..."... chjo... jak to s lidstvem dopadne :-))))))))))
hmm. na to,ze jsem to narychlo psal ve 2 rano, grr. mno dobre. vecer
Tohle by me fakt zvedlo ze zidle. Clovek neco spacha, o svy dobry vuli a este mu malem nakopou zadek.
Ono by se ty pripominky dali rict i slusne.
Dekuju za nakodovani prikladu :-)
No jo, ale k cemu mi takova ukazka je, kdyz si stejne nespustim, protoze si vubec nemuzu byt jisty, jestli mi nesmaze $HOME nebo mi treba ze SSH agenta nevytahne muj privatni ssh klic a neodesle jej autorovi spolu se ~/.ssh/config, aby rovnou vedel, kam se muze hlasit...
Martine
mas naprostou pravdu. Udelal jsem to prez ten security manager a vecer to tam oupnu. Kdyz si to spustis, tak se ti updatne nova verze. Docela me to zaclo bavit, tak jsem neco pridal. Ten balik jabber docela dobre obaluje.
Hmm...
Ako viete, ze to nerobi napriklad apache, XFree86, lftp, mc a co ja viem, ake programy mate este nainstalovane? Pochybujem, ze si prechadzate zdrojaky vsetkych programov.
Ďakujem Vám, že ste vytvorili príklad aj pre "neJavistov". Možno by bolo fajn stručne napísať, ako ste ten program dali dokopy. Zjavne Vám to išlo dosť rýchlo :) Zaujíma ma hlavne ako vytvoriť ten jnlp súbor a tak. Ďakujem.
Mimochodom program sa mi neodhlási z jabberu po timeoute ani po ukončení programu. Je to len moj problem?
mno 1) zabalite vsechny tridy .
2) podepisete certifikatem(coz je jednodussi - ale zase po schaleni certifikatu uz neni zadna security,nebo vytvorite instanci SecurityManager a vyzadujete povoleni na jednotlive akce)
3)nakopirujete na web a napisete jnlp descriptor(viz nize). Tady je vzor:
descriptor obsahuje 3 dulezite veci. codebase,zabalene knihovny, spousteci tridu. Toto vse, ale tohle sem asi moc nepatri.
<?xml version="1.0" encoding="utf-8"?>
<!-- JNLP File for My Program v1.0 -->
<jnlp
spec="1.0+"
codebase="http://ikiban.wz.cz/"
href="jab.jnlp">
<information>
<title>test jabber</title>
<vendor>mraky dev</vendor>
<homepage href="index.html"/>
<description>testovaci program pro jabber
</description>
<icon href="nobody.png"/>
<offline-allowed/>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.4+"/>
<jar href="javalib/IkibanWeb.jar"/>
<jar href="javalib/looks.jar"/>
<jar href="javalib/smack.jar"/>
<jar href="javalib/smackx.jar"/>
</resources>
<application-desc main-class="org.mraky.messenger.Messenger">
</application-desc>
</jnlp>
Mam Mozillu 1.7 (Java(TM) Plug-in 1.4.2-b28) na Linuxu. Java applety se mi spusti, nicméně veškeré pokusy o Java webstart selžou - zobrazí se jen prázdná stránka. Chová se tak ten Jabber i toto http://java.vse.cz/ukazky/index.html.
Bohužel se mi nedaří Mozillu přesvědčit, aby ten soubor předhodila Javě.
Odpovim si sam, pac uz jsme to vyresil. Asociovat appication/x-java-jnlp-file (.jnlp) s javaws
Bohuzel Jabber mi nefunguje, nikam se neprihlasi. Ani nehlasi zadnou chybu. Normalni klient se prihlasi bez problemu.
> jabber mi nefunguje
Skúšali ste aj príklad z článku? Ak je problém s prihlásením na jabber, tak sa iste objaví na konzole chybové hlásenie.
Jsem presvedcen ze kazdy rozumny programator musi pochopit kazdy pgm jazyk a umet si to prepsat do toho co umi (co potrebuje). howgh
Vzhľadom na vaše príspevky som sa rozhodol pokračovať príkladmi v jave. Pokial ide o perl a python, tak existujúce knižnice sa stále nachádzajú na začiatku vývoja. Pre tieto uvediem jednoduchšie príklady typu odosielania a prijímania správ.
K ostatným jazykom : v prípade, že neexistuje hotová knižnica príkazov pre jabber, tak na jednoduchšiu prácu stačí mať k dispozícii XML parser v danom jazyku. V druhej časti seriálu zistíme, že samotný protokol je celkom jednoduchý. XML parser je implementovaný napr. aj v Haskelu... :)