Pereiti prie turinio

Jonuxzas

Patvirtinti nariai
  • Pranešimai

    743
  • Užsiregistravo

  • Lankėsi

  • Laimėta dienų

    2
  • Atsiliepimai

    100%

Reputacijos išklotinė

  1. Patinka
    Jonuxzas sureagavo į alter Patekom i TechCrunch :)   
    http://techcrunch.com/2013/10/23/transfergo/ :blush:
  2. Patinka
    Jonuxzas sureagavo į Rubezius Baigta. Doavanoju BoylePoker kortu kalade.   
    Blondinė prie perėjos klausinėja praeivio:
    - Sakykite, o kur kita gatvės pusė?
    - Kaip tai kur? Štai ten, kitoje gatvės pusėje.
    - Keista, kai buvau ten, man sakė, kad kita gatvės pusė čia...
  3. Patinka
    Jonuxzas sureagavo į Levinas Baigta. Doavanoju BoylePoker kortu kalade.   
    Įbėga į parduotuvę ginkluotas maniakas ir šaukia:
    - Dabar ką nors išprievartausiu. Va tave, - rodo į vieną merginą, - sakyk, kuo tu vardu?
    - Regina, - atsako išsigandus mergina.
    - Ne, tavęs neprievartausiu - mano mama buvo vardu Regina... - pasisuka į vieną vyrą, - O tu kuo vardu?
    - Na aš Jonas, bet šiaip visi tai Regina vadina...
  4. Patinka
    Jonuxzas sureagavo į Jackass Baigta. Doavanoju BoylePoker kortu kalade.   
    Geria degtinę zuikis, vilkas, ir vėžlys. Nu ir baigiasi jiems ta degtinė, duoda vėžliui pinigų, ir liepia parnešti dar degtinės. Nu ir laukia valandą, laukia dvi, tris. Zuikis prabyla :
     
    - Nu bl*, pasiuntėm vėžlį degtinės, dabar lauksim savaitę.
     
    Iš už kampo vėžlio balsas :
     
    - bl*, vyrai jei pyzdavositės išvis neisiu
  5. Patinka
    Jonuxzas sureagavo į pajus26 Baigta. Doavanoju BoylePoker kortu kalade.   
    Sveiki.taigi turiu 3 boylepoker kortu kalades 2 neispakuotos,o viena atydaryta tik paciupinejimuj :)ir nusprendziau pries miega pasikelti nuotaika.jei yra norinciu gauti nemokama kortu kalade (duosiu ta kuri buvo paciupineta :) ) parasykit cia koki gera anekdota,ir rytoj tai yra 07/10/13 20:00 LT laiku burtu keliu (random.org) bus nustatytas nugaletojas.jam nemokamai (is savo kisenes) issiusiu kortas treciadieni.
     
    na kaip ir viskas,tikiuosi viskas visiem aisku.
     
     
    P.S. del kitu 2 kortu kaladziu,jei kas labai norit ir nezinot anekdotu,tai laisvai galite pasiuliti apsimoketi siuntimo islaidas (siunciama is Airijos) ir jos bus jusu.
     
    P.P.P sekmes visiem kurie dalyvausit.
     


  6. Patinka
    Jonuxzas sureagavo į TtomasS Baigta. Doavanoju BoylePoker kortu kalade.   
    Pareina mama iš darbo ir iškart prie jos pribėga dukra ir sako:
    - Mama, mama, šiandien tėtis parsivedė nepažįstamą tetą į namus, numovė jai kelnes, paguldė ant lovos, praskėtė kojas ir...
    - Palauk, palauk, dukrele, grįš tėtis ir tada papasakosi.
    Na, grįžo tėvas namo, sėdi krėsle, o motina ir atveda dukrą pas tėvą, ir sako:
    - Na, dukrele, ką norėjai man papasakot?
    - Na tai va, grįžo šiandien tėtis ir parsivedė nepažįstama tetą į namus, numovė jai kelnes, paguldė ant lovos, praskėtė kojas ir įkišo jai į tarpkoji tą daiktą, kurį kaimynas Petras kišo tau į burną..
  7. Patinka
    Jonuxzas sureagavo į Evaldukas46 Baigta. Doavanoju BoylePoker kortu kalade.   
    Sėdi Petriukas pamokoje,o aplink mokinius vaikšto mokytoja.Prieina prie Petriuko ir pamato ant suolo musę. Ima ir trenke kelis kartus tai musei,tačiau ta kaip stovi taip ir stovi. Tuomet pastebi kai tai nupiešta musė.
    Mokytoja klausia:
    - Petriuk,čia tu nupiešiai?
    Petriukas atsako:
    - Taip,mokytoja.
    Mokytoja sako:
    - Na ir gabus ,tu.
    Petriukas sako:
    - Aj,čia menkniekis,kai namuose ant sienos nuogą moterį nupiešiau,tėvas os b*bio nenusilaužė.
     
    Šioks toks anekdotas :))
  8. Patinka
    Jonuxzas sureagavo į SLukas Kultūrizmas namie   
    sportas namuose vadinamas masturbacija, nori kazko pasiekti ir tureti visas salygas pilnavertiskai sportuoti keliauji i sale.
  9. Patinka
    Jonuxzas sureagavo į fad Google naujasis paieškos algoritmas “Hummingbird” – ką jis keičia?   
    Žmogus nori gero, gaišta savo laiką nemokamai versdamas tekstą ir rašydamas santrauka, o jus puolat burnotis ir kabinėtis. Įdomūs žmones :)
  10. Patinka
    Jonuxzas sureagavo į justas Kaunietis garaže išrado dviratį ir veržiasi į pasaulio rinkas   
    kaina gera, lietuva nėra tikslinė rinka.
  11. Patinka
    Jonuxzas sureagavo į ReikiaPuslapio Mano keturios e-knygos apie web-projektus - nuo šiol NEMOKAMAI   
    Nuo 2008 metų turiu tokį tinklaraštį skaitykit.lt, į kurį jau senokai neberašau ir nebeplanuoju - pasikeitė prioritetai.
     
    Jo platformoje buvau parašęs keturias elektronines knygas, kurias bandžiau ten pardavinėti, ir nuo šiandien nusprendžiau tiesiog dalinti jas nemokamai. Visiems. Be jokių registracijų ar mokėjimų. Tiesiog.
     
    Knygos yra:

    "Kaip kurti web-projektus"
    Knyga tiems, kurie nori kurti savo projektą internete – ar tai butu web-verslas, ar tiesiog bendruomenės svetainė, ar savo sumanytas laisvalaikio portalas. 50 patarimų iš realios 10 metų patirties – po vieną A4 formato lapą kiekvienam patarimui.
    "Pusę metų dirbu sau"
    Nori išsivaduoti iš darbo ofise ir turėti laisvės? Ar vilioja žodis “freelanceris”? Tada paskaityk, kaip sekėsi man šiame kelyje – knygoje papasakosiu įspūdžius iš pirmojo pusmečio.
    "CodeIgniter: nuo ABC iki pirmo web-projekto"
    CodeIgniter yra vienas iš populiariausių framework’ų PHP programavimo kalbai. Jis gali padėti programuotojams greičiau sudėlioti projekto griaučius ir struktūrizuoti kodą, o taip pat turi labai daug pagalbinių bibliotekų ir funkcijų. Apie visa tai – šioje knygoje, kurios pabaigoje bus sukurtas realus web-projektas.
    "PHP Pamokos Pradedantiesiems"
    Ši knyga skirta tiems, kas nori pradėti kurti tinklalapius ir tam panaudoti PHP programavimo kalbą. Pasakojama viskas nuo pagrindų – kokioje programoje rašyti PHP programinį kodą, kas yra kintamieji, sąlygos sakiniai, ciklai, masyvai ir t.t. Iš viso yra 16 skyrių, po kurių perskaitymo galėsite sukurti savo pirmąjį PHP projektą.

     
    Kur parsisiųsti: šiuo adresu http://www.skaitykit.lt/knygos
     
    Kaip man sekėsi jas pardavinėti:
     
    Įdomumo dėlei, papasakosiu apie skaičius. Pirmą e-knygą išleidau dar 2010 metais, ir uždėjau simbolinę kainą - 2 Lt. Vėliau už panašią kainą išėjo antra ir trečia knyga, vėliau ir ketvirta. Vėliau pakėliau kainą iki 5 Lt (kas vis tiek yra simboliška). Tikslas buvo ne užsidirbti pinigų, bet uždėti bent kažkokį mokėjimą - neatiduoti savo "žinių" nemokamai.
     
    Pardavimų rezultatai - iš visų knygų kartu sudėjus ir atskaičiavus įvairius mokesčius, uždirbau apie 500 Lt. Tai nė iš tolo neatperka laiko, skirto jų parašymui, bet už tai jų pagalba radau ne vieną rimtą klientą web-programavimo darbams, taip pat ir galėjau lengviau patarti kitiems - tiesiog pacituodavau skyrelį iš savo knygos.
     
    Kodėl dabar nusprendžiau dalinti nemokamai - kelios priežastys: visų pirma, įsitikinau, kad Lietuvoje e-knygos yra mažai perkamos ir mažai skaitomos (na, ir popierinėms knygoms irgi sunkūs laikai). Kitas dalykas - principas "be expensive or be free": geriau tegul knygos būna nemokamos, tada daugiau žmonių perskaitys, ir teoriškai net jei ir vienas iš jų norės su manimi bendradarbiauti (ar kartu daryti kokį projektą, ar užsakyti mano paslaugas), tai apsimokės labiau nei tie keli litai "ant alaus".
     
    Tai jei kas iš jūsų turi idėją rašyti e-knygą ir ją pardavinėti dėl pinigų - patariu persigalvoti ir nuveikti kažką naudingiau.
    Anyway, gero skaitymo!
  12. Patinka
    Jonuxzas sureagavo į DomantasN Nuo spalio – jokių lošimų internetu   
    Būtų geriau uždarę greitųjų kreditų kontoras, apgaudinėja jos žmones, po to ir eina kartis, kai arba nutylėta, arba neskaito sutarčių iki galo.
  13. Patinka
  14. Patinka
    Jonuxzas sureagavo į tomixsi Tomis "Dark Soul" Piesimas 2013   
    Sveiki,
     
    Taigi cia matote mano piesta veikeja kuri pavadinau " Dark Soul" Ji galejote isvysti mano praeitoje temoja,bet sioja pamatysiti sektiek daugiau kaip jis buvo kuriamas. Sis veikejas yra ne seip piesiamas,jis bus naudojamas musu kuriamam tinklalapiniam zaidimui kuris dar nezine kada pasirodys. Na ka megaukites vaizdais ir video kury rasite apacioje :)
     
    http://i.imgur.com/9btd1MQ.jpg
    http://i.imgur.com/SsdFxwi.jpg
    http://i.imgur.com/Sv4bMdR.jpg
     
    YOTUBE VIDEO(kaip buvo kuriamas):

  15. Patinka
    Jonuxzas sureagavo į Limpuls Su programuotojų diena 2013!   
    Pi**a noriu ir aš būti toks protingas :D beje sveikinimai ir nuo manęs :)
  16. Patinka
    Jonuxzas sureagavo į tomixsi Tomis PS Art Galerija   
    Sveikia,Uzdarbis.lt esu naujokas :) Taigi labai smagu pasidalinti bus su jumis darbais,galbut gausiu ir pasiulimu uz atligi. Photosopu naudojuosi 6-7 metai,viskas prasidejo nuo pacio pirmojo,zinoma tobulejimui nera ribu,teko bandyti viska,Logo,manipuliacija,3D,Web dizainas,Digital art ir kitos smulkmenos,bet labiausei prisirisau prie Digital,ir logo:) Na ka manau nekantraujante isvysti mano darbus,taigi megaukites :)
     
    http://i.imgur.com/i2BMTLB.jpg
    Dark Soul: http://i.imgur.com/Sv4bMdR.jpg
    Hunter: http://i.imgur.com/tlw8Jnr.jpg
    Humanoid: http://i.imgur.com/Z2ieTfG.jpg
    Girl: http://i.imgur.com/Gy5sHCx.jpg
    Shadow Assassin: http://i.imgur.com/BAxJwNA.jpg
    Future City: http://i.imgur.com/HuIvE.jpg
    Monsters: http://i.imgur.com/yOnjWym.jpg
    Sad Kitty: http://i.imgur.com/GpC1U.jpg
    Girl2: http://i.imgur.com/8Llf2nt.jpg
     
    Seni Logotipai ir Kiti darbai:
    http://i.imgur.com/HNUAX.jpg
    http://i.imgur.com/9k5E0.jpg
    http://i.imgur.com/I5WyO.jpg
    http://i.imgur.com/7OhUv.jpg
    http://i.imgur.com/KVLSw.jpg
  17. Patinka
    Jonuxzas sureagavo į M_Thing „Apple“ pristatymas šiandien. „iPhone 5S - 5C“   
    Kazkaip visai apple nusigrybavo su tom spalvom... Ar ten nokia kopijuoja ar koki velnai ten daro, bet tiek naujais iOS neaptinka dėl debiliškų spalvų visur, o 5C tai nlb žiūri ypač tie skyleti dėklai baisiai atrodo... Toks vaizdas, kad be jobso apple juda ne ten kur reikia...
  18. Patinka
    Jonuxzas sureagavo į r0mas „Apple“ pristatymas šiandien. „iPhone 5S - 5C“   
    nu jau apple pradėjo chaltūrint.. nebepatinka man..
  19. Patinka
    Jonuxzas sureagavo į eimis1 Prisistatymas. 2x2. Aš jus myliu.   
    o. laisva siela prisijungė prie mūsų. :)
  20. Patinka
    Jonuxzas sureagavo į zilvinaszh Žilvinas Z. - nuo tragedijos iki kūrybos kelio pradžios   
    Sveiki, man 17 metų, ne už kalnų 18. Itin daug nerašysiu, nes nelabai mėgstu apie save plepėti, o prisistatymą, kaip supratau, parašyti būtina.
     
    Temos pavadinimas asocijuojasi su skaudžiu mano gyvenimo įvykiu. 2012 metų vasarį autoavarijoje netekau savo šeimos. Ilgą laiką kybojau ant kilpos, apjuosusios kaklą, tačiau nebuvau toks drąsus, kad sugebėčiau ją trūktelėti. Nuolatinis sielvartas gadino mano sveikatą, tačiau skatino kūrybingumą.
     
    Vieną praeitų metų rudens vakarą, po pusmečio nuo nelaimės, turėjau parašyti rašinį mokyklai apie tai, kas mums brangu. Ši tema stipriai palietė mano širdį - "atsirakino" visi jausmai. Rašinyje taip išliejau mintis, viršydamas žodžių limitą 3 kartus, jog pajutau atsidėkojęs tėvams už viską, ką jie suteikė man. Rašinys buvo dedikuotas būtent jiems.
     
    Kiek vėliau viskas aprimo. Nustojau tūnoti sielvartautojo vaidmenyje. Regis, visa padrika praeitis nuplaukė tarsi srauni upė, atvėrusi man kelią į kūrybos pasaulį. Praėjus galbūt mėnesiui po ankstesnėje pastraipoje paminėto vakaro, mokytoja apibendrino visus rašinius, tačiau apie mano nekalbėjo. Džiaugiausi, kad mane "nurašė", mat nemėgstu, kuomet žmonės apie mane kalba. Tačiau klydau. Po pamokos buvau pakviestas pasilikti pakalbėti su tamsta. Ilgą laiką jai įrodinėjau, jog tai mano rašinys. Jos teigimu, ten pateikiamos mintys buvo pernelyg "suaugėliškos". Tačiau viskas baigėsi gerai, mokytoja liko sužavėta ir tuo pačiu liūdinti dėl ten esančio teksto. Tuo tarpu aš, graibydamasis sau už galvos, galvojau - kodėl rašiau apie tėvus, juk tai pernelyg asmeniška.
     
    Ne vieną parą mane kamavo kaltės jausmas. Juk vardan gero pažymio paaukojau tėvų atminimą, dedikavau jiems tai, ką jaučiau ir tas mintis paverčiau trišalėmis - mokytoja (vertintoja) taip pat turi akis ir gali skaityti tekstą. Tačiau... Gal tai nebuvo klaida? Galbūt dovana iš dangaus? Po šio rašinio buvau tarsi plūgas išnaudojamas dviejuose rašinių konkursuose, kuriuose labai pasisekė. Viename jų vėl buvo panaši situacija kaip ir man su mokytoja - kilo abejonių, jog tai mano paties kurtas rašinys, todėl vertintojai subūrė dar vieną vertinimo komisiją, kuri nagrinėjo rašinį (kuriozas?).
     
    Dar nesustojau. Žengiu į priekį, kad ir kokia skaudi būtų praeitis. Tragedija mane užgrūdino kurti, rašyti. Šiuo metu baiginėju vieną knygą, ji tarsi vidinio AŠ atspindys popieriaus lapuose. Iš savo patirties supratau, kad kartais sėkmingas gyvenimas prasideda nuo skaudžių nelaimių. Arba atvirkščiai.
     
    Turbūt, kad viskas - prisistatymas baigtas. Tačiau gyvenimas tęsiasi.
     
    P.S. Būkite geri, jokių užuojautų nereiškite. Dar nevisai aš tvirtas, tad bijau suklupti...
  21. Patinka
    Jonuxzas sureagavo į Karolis// Amžiaus sužinojimas   
    Tu rimtai? :D
  22. Patinka
    Jonuxzas sureagavo į marcinbrynda Amžiaus sužinojimas   
    taigi kaip ieini i banka tave stebi kameros ir fiksuoja tavo ugi , o kaip sedi ant kedes iskart ir svoris yra sveriamas.
  23. Patinka
    Jonuxzas sureagavo į Mykolas PayPal, eBay ir kt. paskyrų pardavinėjimas draudžiamas   
    Sveiki,
     
     
    šiame forume draudžiama pardavinėti banko sąskaitas, PayPal, eBay ir kitų kompanijų/portalų, kuriuose vykdomos finansinės operacijos, ir kur reikia patvirtinti tapatybę siunčiant dokumentus ir pridedant kortelę ir/ar banko sąskaitą, paskyras.
     
    Taip pat draudžiama pardavinėti el. pašto adresų ir panašias duomenų bazes. Administracijai neįdomu, jog šią informaciją galima rasti internete ir panašiai. Šiame forume tai nėra toleruojama.
     
    Taip pat šiame forume draudžiama pardavinėti padirbtus dokumentus (kortelių/bankų išrašus, asmens dokumentų kopijas, invoice'us ir panašiai).
     
    Tai liečia ir AŽ!
     
     
    P.S Tai neliečia VCC ar prepaid kortelių pardavimų (tokių kur nereikalauja siųsti ID dokumentų).
  24. Patinka
    Jonuxzas sureagavo į Tmaster Norite susikurti chat'ą?   
    pakėlė ūpą vakarui, maladiec gugis :) +
  25. Patinka
    Jonuxzas sureagavo į Gugiss Norite susikurti chat'ą?   
    Node.js yra įrankis, kurio pagalba galima sukurti serverius įvairiom web aplikacijoms ar žaidimams naudojant JavaScript programavimo kalbą.
    Viskas vyksta realiu laiku t.y. atnaujinimus siunčiamus iš serverio vartotojas gauna akimirksniu. Ir čia Ajax'as ne prie ko - Node.js veikia per WebSocket'us. Todėl norint testuoti serverį reikalinga moderni naršyklė palaikanti WebSocket'us. WebSocket'us palaiko ir dauguma mobilių įrenginių, todėl dėl to nereikia jaudintis.
    Supažindinsiu jus su Node.js pamokydamas kaip galima sukurti paprastą web chat'ą (tiek iš serverio tiek iš vartotojo pusės) Windows aplinkoje.
     
    Pasiruošimas
    Pirmiausia jums reikės iš čia http://nodejs.org/ parsisiųsti ir įsidiegti patį Node.JS įrankį.
    Node.js instaliacijos kataloge rasite programą (.bat failą) pavadinimu npm ji skirta papildomų bibliotekų parsiuntimui ir instaliavimui, tačiau ją paleisti galima tik per komandinę eilutę.
    Taigi jums reikės papildomos bibliotekos (labai naudingos ir palengvinančios darbą) Socket.IO.
     
    Socket.io instaliavimas:
    1. Atsidarius Node.js instaliacijos aplanką į adreso lauką įrašyti "cmd" ir spausti ENTER
    2. Atsidariusioje konsolėje įrašykite "npm install socket.io" (be kabučių)
    3. Kai instaliacija baigsis galite uždaryti konsolę
    http://www.part.lt/img/b9964fdb4cd608ccc83999880a2c2bd3692.jpg
    http://www.part.lt/img/2acd782f1dfd0f7c47717dc2dda03761115.jpg
     
    Darbas su Node.js ir Socket.IO
    Testas
    Dabar, kai jau įdiegėte reikiamus įrankius galite ištestuoti kaip jie veikia.
    Tam pačiame kataloge sukurkite betkokį failą su .js galūne pvz. "chat.js". Atidarykite sukurtą failą ir yrašykite pirmąją kodo eilutę:

    var io = require('socket.io').listen(8000);
    Ši eilutė liepia sukurti serverį 8000 porte.
    Ar viskas tvarkoje galite ištestuoti sukurtą .js failą tiesiog "užvilkę" an node programos.
    http://www.part.lt/img/d959e80a53a652d583cb1fae2d038d89139.jpg
    Atsivers konsolė, jeigu ji iš karto neišsijungs, reiškias viskas gerai. Naršyklės lange suvedę "http://localhost:8000/" galėsite išvysti pasveikinimą:
     
    Įvykiai ir prižiūrėtojai
    O dabar pradėsime sunkiąją dalį.
    Pirmą norėčiau paaiškinti terminologiją. Kas yra socket'ai nepasakosiu (galite pasiskaityti čia http://en.wikipedia.org/wiki/Network_socket).
    Papasakosiu apie event'us (įvykius). Na trumpai tariant įvykiai yra įvykiai :D t.y. tai kas įvyksta programoje (pvz. serveris iš vartotojo gauna komandą "labas"). Programa turi ką nors atsakyti į įvykį, todėl jiems (įvykiams) reikia priskirti prižiūrėtoją (event listener/handler).
    Įvykio prižiūrėtojas yra paprasčiausia funkcija (o jeigu nežinot kas yra funkcijos, tai ne ten papuolėt). Prižiūrėtoją įvykiui priskirti galima dviem būdais.
     

    socket.on('labas', function(){ console.log("LABAS"); });
    arba
     

    function labasFunkcija(){ console.log("LABAS"); } socket.on('labas', labasFunkcija);
    Šis prižiūrėtojas iš vartotojo gavęs komandą "labas" konsolės lange parašys "LABAS". Tačiau šio įvykio mes nenaudosim.
     
    Serveris
    Kadangi papasakojau apie įvykius galima judėti toliau. Kol kas kode turime tik vieną eilutę, kurioje aprašytas kintamasis "io". Šis kintamasis laukia kokių nors įvykių (tiksliau ne kintamasis, o jam priskirtas objektas), todėl mes turime jiems priskirti prižiūrėtojus.
    Pirmasis įvykis kurį aprašysime tai kai vartotojas bando prisijungti prie serverio. Šio įvykio prižiūrėtoją galime vadinti bosu, nes jis priskirs prižiūrėtojus kitiems įvykiams.

    io.sockets.on('connection', function (socket) { // kitas įvykis // dar vienas įvykis });
    Šiame pratime naudosime dar du įvykius t.y. "login" ir "message". Beje įvykius galite pavadinti kaip norite, čia pasirinkimo laisvė.
     
    Taigi antrasis prižiūrėtojas atsakys už vartotojo vardo pasirinkimą. Vartotojui sėkmingai prisijungus prie serverio jis turės įrašyti savo vardą. Pasirinkus vardą serveriui siunčiama komanda "login" kartu su pasirinktu vardu.
    O tuo tarpu serveryje priskirtas prižiūrėtojas laukia šio įvykio:

    socket.on('login', function(data){ // Kai serveris priima komandą "login" iš vartotojo (kintamasis "data" yra gauti duomenys iš vartotjo) var status = 0; // Kintamasis status bus siunčiamas vartotojui po to kai serveris patikrins jo atsiųstus duomenis if(data.name.length == 0){ // Jeigu vartotojas neįvedė prisijungimo vardo status = 1; } else { var clients = io.sockets.clients(); // Gaunamas prisijungusių vartotojų sąrašas for(var i = 0; i < clients.length; i++){ // Tikrinami visi prisijungė vartotojai if(clients[i].user && clients[i].user.toLowerCase() == data.name.toLowerCase()){ // Tikrinama ar pasirinktas vartotojo vardas yra užimtas status = 2; break; } } } if(status == 0) socket.user = data.name; // Jeigu pasirinktas vartotojo vardas yra prieinamas socket'ui priskiriamas "user" kintamasis socket.emit('login', {status: status}); // Vartotojui siunčiama komanda "login" su kintamuoju "status" });
    Kaip pastebėjote (tikiuosi) šis prižiūrėtojas turi argumentą "data" t.y. kartu su įvykiu iš vartotojo gauti duomenys, šiuo atveju vartotojo vardas. Duomenys pateikiami json formatu, tai reiškia, kad:

    data = {name: <vardas>}
    Tikiuosi kad pastebėjot ir šią eilutę:

    socket.emit('login', {status: status});
    Ši eilutė sukuria įvykį vartotojui. Tai reiškia, kad vartotojo (naršyklės) pusėje taip pat laukiama įvykių. Taigi siunčiama komanda "login", o ją priims vartotojo pusėje esantis prižiūrėtojas, bet apie tai vėliau.
    Ir trečiasis, paskutinysis prižiūrėtojas - atsakingas už vartotojo siunčiamų žinučių priėmimą:

    socket.on('message', function(data){ // Kai vartotojas parašo žinutę var clients = io.sockets.clients(); for(var i = 0; i < clients.length; i++){ // Tikrinami visi prisijungė vartotojai if(clients[i].user){ // Tikrinama ar vartotojas turi prisijungimo vardą clients[i].emit('message', {user: socket.user, message: data.message}); // Siunčiama žinutė vartotojui } } });
    Jeigu nesupratot ką daro šis prižiūrėtojas pasakysiu trumpai. Jis visas gaunamas žinutes iš vieno vartotojo persiunčia visiems kitiems.
    Dabar jūsų kodas turėtų atrodyti taip:

    var io = require('socket.io').listen(8000); // Sukuriamas serveris console.log(io.version); io.sockets.on('connection', function (socket) { // Kai vartotojas prisijungia prie serverio socket.on('login', function(data){ // Kai serveris priima komandą "login" iš vartotojo (kintamasis "data" yra gauti duomenys iš vartotjo) var status = 0; // Kintamasis status bus siunčiamas vartotojui po to kai serveris patikrins jo atsiųstus duomenis if(data.name.length == 0){ // Jeigu vartotojas neįvedė prisijungimo vardo status = 1; } else { var clients = io.sockets.clients(); // Gaunamas prisijungusių vartotojų sąrašas for(var i = 0; i < clients.length; i++){ // Tikrinami visi prisijungė vartotojai if(clients[i].user && clients[i].user.toLowerCase() == data.name.toLowerCase()){ // Tikrinama ar pasirinktas vartotojo vardas yra užimtas status = 2; break; } } } if(status == 0) socket.user = data.name; // Jeigu pasirinktas vartotojo vardas yra prieinamas socket'ui priskiriamas "user" kintamasis socket.emit('login', {status: status}); // Vartotojui siunčiama komanda "login" su kintamuoju "status" }); socket.on('message', function(data){ // Kai vartotojas parašo žinutę var clients = io.sockets.clients(); for(var i = 0; i < clients.length; i++){ // Tikrinami visi prisijungė vartotojai if(clients[i].user){ // Tikrinama ar vartotojas turi prisijungimo vardą clients[i].emit('message', {user: socket.user, message: data.message}); // Siunčiama žinutė vartotojui } } }); });
    Serverio kodas baigtas, todėl jau galite jį paleisti kaip mokiau.
     
    Pabaiga
    Pagaliau priėjome vartotojo pusę. Pabaiga labai arti, nes aš tiesiog jums pateiksiu "gatavą" kodą. Jame nieko ko nežinote nėra.
    Kaip ir serverio pusėje yra priskirti prižiūrėtojai ir paprastos jQuery funkcijos skirtos gautiems duomenims manipuliuoti. Kad jums būtų lengviau suprasti JavaScript faile pakomentavau beveik kiekvieną eilutę.
    Taigi klientą sudaro 3 failai (html, css ir js):
    index.html

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Įspudingas chatas</title> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script> <script src="script.js"></script> <script src="http://78.62.160.169:8000/socket.io/socket.io.js"></script> <link href="styles.css" rel="stylesheet" type="text/css" /> <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" /> </head> <body> <div class="modal">Jungiamasi prie serverio...</div> <div class="overlay"></div> <table width="100%" border="1" cellspacing="5" cellpadding="0"> <tr> <td id="output"></td> </tr> <tr height="20"> <td><input name="message" type="text" id="input"/></td> </tr> </table> </body> </html>
     
    styles.css

    @charset "utf-8"; html, body{ font-family: Verdana, Geneva, sans-serif; font-size: 14px; margin:0; height: 100%; /* real browsers */ } table{ display: none; height:100%; } table td{ vertical-align: top; } p{ margin: 0; } #input{ height:20px; margin:0; border:0; width:100%; } #input:focus{ background:#E1F5A9; outline: none; } #output{ height:100%; overflow-y:scroll; } .overlay{ width: 100%; height: 100%; display: block; position:absolute; top: 0; background:#ccc; opacity: 0.5; z-index: 1; } .modal{ text-align: center; line-height: 100px; height: 100px; width: 250px; display: block; position: absolute; background: #fff; border: 1px solid #ccc; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; z-index: 2; top:0; bottom: 0; left: 0; right: 0; margin: auto; } .modal input{ margin-top: 40px; }
     
    script.js

    var socket; $(document).ready(function(e) { socket = io.connect("http://78.62.160.169:8000/"); // Jungiasi prie serverio // Priskiriami įvykių prižiūrėtojai socket.on("connect", connected); // Įvykis "connect" įvyksta kai vartotojas prisijungia prie serverio socket.on("login", login); socket.on("disconnect", disconnect); // Įvykis "connected" įvyksta kai nutrūksta vartotojo ryšys su serveriu }); //Įvykio "connected" prižiūrėtojas function connected(){ var text = $("<input>", {type: "text", placeholder: "Vardas"}); // Sukuriamas teksto laukas var button = $("<input>", {type: "submit", value: "Tęsti"}); // Sukuriamas mygtukas $(".modal").html([text, button]); // Sukurti elementai priskiriami "modal" klasę turinčiam elementui button.on("click", function(){ // Priskiariamas mygtuko paspaudimo įvykio prižiūrėtojas socket.emit("login", {name: text.val()}); // Nuspaudus mygtuka į serverį siunčiama komanda kurioje nurodytas vartotojo įvestas vardas }); } // Įvykio "login" prižiūrėtojas function login(data){ switch(data.status){ // Tikrinami duomenys iš serverio, kurie gaunami po bandymo prisijungti su pasirinktu vartotojo vardu case 0: // Jeigu data.status = 0 init(); // Vykdoma "init" funkcija break; case 1: // Jeigu data.status = 1 alert("Įvesk vardą!"); // Iššoka "alert" lentelė break; case 2: // Jeigu data.status = 2 alert("Šis vardas yra užimtas"); // Iššoka "alert" lentelė break; } } // Funkcija kuri vykdoma jeigu pavyko prisijungti su pasirinktu vartotojo vardu function init(){ $(".modal, .overlay").remove(); // Sunaikinami elementai kurie turi "modal" arba "overlay" klasę (prisijungimo lentelė) $("table").show(); // Atslepiama lentelė (chato template'as) socket.on("message", message); // Priskiriamas įvykio prižiūrėtojas apdorojantis duomenis, kurie gaunami iš serverio, kai kas nors parašo žinutę chat'e $("#input").on("keypress", function(e){ // Priskiriamas klaviatūros klavišo paspaudimo įvykio prižiūrėtojas if(e.keyCode == 13 && $(this).val().length != 0){ // Jeigu nuspausto mygtuko kodas yra 13 (kodas 13 yra ENTER mygtukas) bei žinutės įvedimo laukas nėra tuščias socket.emit("message", {message: $(this).val()}); // Žinutė išsiunčiama į serverį $(this).val(""); // Išvalomas žinutės įvedimo laukas } }); } // Įvykio "message" prižiūrėtojas function message(data){ $("#output").append("<p><b>"+data.user+":</b> "+data.message+"</p>"); // Žinutę atspausdina "output" elemente (pirmoje lentelės eilutėje) } // Įvykio "disconnect" prižiūrėtojas function disconnect(){ socket.removeListener("message", message); // Sunaikina įvykio "message" prižiūrėtoją $("table").hide(); // Paslepia lentelę $("#output").empty(); // Išvalo chat'ą; $("#input").val(""); // Išvalo žinutės įvedimo lauką var modal = $("<div>", {class: "modal", html: "Jungiamasi prie serverio..."}); // Sukuria "modal" elementą var overlay = $("<div>", {class: "overlay"}); // Sukuria "overlay" elementą $("body").append([overlay, modal]); // Sukurtus elementus priskiria "body" elementui }
     

    Šiuos failus sudėkite į vieną katalogą
    Paleiskite serverį
    Atsidarykite index.html failą
    Susitepkit sumuštinį
    Atimkit močiutės pensiją
    Iškirskit kentą

     
    ČIA GALIMA IŠBANDYTI VEIKIANTĮ CHAT'Ą
×
×
  • Pasirinkite naujai kuriamo turinio tipą...