Kemito Posted July 2, 2010 Report Share Posted July 2, 2010 Sveiki gudrie kungi, tīri bieži vien paklausu jūsu padomus, kā iepriekš veidoju komentāru sistēmu, kur ļoti labi man izpalīdzējāt ar funkcijām - manuāļus palasīju par tiem un paskaidrojāt viss super, vēlreiz pasaku Paldies! Šoreiz esmu ķēries pie kautkā nopietnāka, jeb mūsu tautā saucamā ČATA ! Vēlējos dzirdēt jūsu domas. Tā tad sākumā par veidu, kā to grasos taisīt. Iespējas: # Čata istabas # Čata istabu pievienošana # Iespējama Čata istaba ar paroli # Paša čatošana # Privātā čatošana Protams tas ir tā teikt aptuveni idejas līmenī! Vēlējos no jums uzzināt, dzirdēt, lietas ko vaidzētu IEVĒROT, ko OBLIGĀTI pievienot! Tā teikt, kādus datu aizsardzības nolūkus ievērot. Kā labāk, jeb precīzāk izveidot šo, kādas kārtības un ko ievērot. Ko nevaidzētu darīt, ko OBLIGĀTI vaidzētu, kādas sistēmas pievienot / izveidot! Visu visu kas saistās aptuveni ar šīm lietām, kautvai vismaz daudzmaz normāli būtu iespējams izveidot man šo čatu. Čats man būs jau ar reģistrācijas profilu, teiksim tā lietotājs man jau ir reģistrējies, tas ienāk iekšā, izvēlas istabu un čato. Ceru, ka sapratāt, ko lūdzu no jums ! ja nē droši pārprasiet, visu paskaidrošu, man tik vaig zināt INFO. Taisīt neko nevaig, jo kā zināms - Pašam ir patīkamāk un labāk to darīt :D Paldies jau censoņiem iepriekš! P.S. Lūdzams neminēt tādas lietas, kā "valīds" xHTML :D Vismaz šito es zinu, par to jāpasakas paldies rATRIJ`am un vēl dažiem gudriem vīriem :D Quote Link to comment Share on other sites More sharing options...
daGrevis Posted July 2, 2010 Report Share Posted July 2, 2010 Sveiks, Sākumā vajadzētu izdomāt kur glabāsi visus ziņojumus. Teksta failos, datubāzē vai vēl kādā draiskākā vietā... =D Quote Link to comment Share on other sites More sharing options...
marcis Posted July 2, 2010 Report Share Posted July 2, 2010 WebSockets FTW http://www.ape-project.org/ Quote Link to comment Share on other sites More sharing options...
Džei Posted July 2, 2010 Report Share Posted July 2, 2010 (edited) darbības shēma varētu būt kkam šim līdzīga - WebSockets FTW http://www.ape-project.org/ thanks, sen biju ko tādu meklējis :] Edited July 2, 2010 by glorificus Quote Link to comment Share on other sites More sharing options...
Aleksejs Posted July 2, 2010 Report Share Posted July 2, 2010 http://chat.nodejs.org/ Quote Link to comment Share on other sites More sharing options...
codez Posted July 2, 2010 Report Share Posted July 2, 2010 Socketiem mīnusi: - Nāksies būvēt tcp serveri, php čakarīgi, python-ā būs daudz vieglāk (dažās rindiņās var uzbūvēt funkcionējošu multithread tcp serveri). - WebSocketus suporto mazākums browseru (pēc lietotāju daudzuma), tāpēc nāksies izmantot flash-u. Socketu plusi: - Pareizais veids kā būtu jātaisa čats - Augsta performance, jo nav jāizmanto nekādas db un atkārtoti http pieprasījumi. Visu pēdējo saraksti var glabāt tcp servera operatīvajā atmiņā. Un, ja gadījumā vajadzīgs čata logs, tad vienkārši logot failos. Quote Link to comment Share on other sites More sharing options...
Kemito Posted July 2, 2010 Author Report Share Posted July 2, 2010 gaidu vēl briedi ar rATRIJU :D paldies pārējiem jau, tiešām centīšos ņemt vērā, vismaz :) Quote Link to comment Share on other sites More sharing options...
daGrevis Posted July 2, 2010 Report Share Posted July 2, 2010 Kā īsti socket'i darbojas? Pirmo reizi saskaros. Quote Link to comment Share on other sites More sharing options...
codez Posted July 2, 2010 Report Share Posted July 2, 2010 (edited) sockets, teiksim tā, ir konekcija starp serveri un klientu. Gan Websockets, gan HTTP ir protokoli, kuri balstās uz TCP socketiem, tikai atšķirībā ir šāda: HTTP klients piekonektējas HTTP serverim, izveido konekciju. HTTP klients: iedo man index.php HTTP serveris: še tev index.php <html><body>Hello</body></html> HTTP serveris atkonektē konekciju. Websocket klients izveido konekciju. Websocket klients: čāv Websocket serveris: čāv Websocket klients: iedo man useru listi čatam Websocket serveris: jānis, ilze, juris Websocket serveris (pēc kāda laiciņa): jānis saka: čau visiem Websocket serveris (pēc kāda laiciņa): ilze saka: čau jāni Websocket klients: saku visiem: čau jāni Websocket klients pārtrauc konekciju. Ja domu saprati, tad HTTP gadījumā klients paprasa datus, saņem tos un konekcija beidzās, kameŗ websocket-u gadījumā pēc handshake-a kā klients, tā serveris var viens otram sūtīt datus. Edited July 2, 2010 by codez Quote Link to comment Share on other sites More sharing options...
bubu Posted July 2, 2010 Report Share Posted July 2, 2010 Nav gluži akurāti. HTTP konekcijas var nevērt ciet pēc datu pieprasījum un saņemšanas, bet var arī turēt atvērtu arī vēlāk. HTTP atšķirība no soketa ir tāda, ka HTTP ir protokols. Tajā ir noteikts ko sūtīt, kā sūtīt (vispirms headeri, tad tukša rinda, tad dati, utt..). Tb ir standarts, kurš ir jāievēro gan klientam (browserim), gan serverim (piem Apache), lai abi varētu veiksmīgi sazināties. Turpretīt sokets ir kā pliks binārs fails - tu vari caur soketu nosūtīt patvaļīgus baitus, cik vien gribi un kādus gribi. Tik vien otrā galā ir jābūt atbilstošam serverim (vai klientam attiecīgi), kas sapratīs tavus nosūtītos datus. HTTP izmanto soketu apakšā, lai sūtītu savus datus (headerus, lapas contentu, bildes utt). Tāpat kā plikā failā uz diska - tu vari tur ierakstīt jebko, vari arī nolasīt jebko, tik tev pašam jāzin ko un kā tu raksti. Quote Link to comment Share on other sites More sharing options...
codez Posted July 3, 2010 Report Share Posted July 3, 2010 Bet principiāli jau mans piemērs par http ir pareizs, jo šī daļa HTTP serveris: še tev index.php <html><body>Hello</body></html> HTTP serveris atkonektē konekciju. apraksta arī long-pool requestu, respektīvi nav jau norādīts, ka serveris uzreiz atsūta to index.php failu, taču viens paliek nemainīgs - ja konekciju patur ilgāk atvērtu, datus varēs sūtīt tikai http serveris. HTTP un WebSocket ir protokoli, kuri būvēti uz TCP/IP protokola. Kā jau bubu norādīja, tad sockets ir ta kā pliks binārs kanāls, kurā tu vari sūtīt datus un kurš darbojās uz zemāka līmeņa TCP/IP protokola. Šeit es gribētu tikai piebilst, lai nejauc Websocket-u ar socket-u, kas nav viens un tas pats. Websocket ir protokols, kuram sākumā ir handshake-s un tālāk jau datus var sūtīt abos virzienos tāpat kā plikā socket-ā. Quote Link to comment Share on other sites More sharing options...
Kemito Posted July 3, 2010 Author Report Share Posted July 3, 2010 Tagad man ar aizgāja mazliet par tiem Socket`iem ! BET KUR IR BRIEDIS AR rATRIJU, palūgšu viņiem ar pateikt kādu vārdu :D P.S. Man te sava veida uzklausīšana lielākoties, darbojas uz noteiktiem cilvēkiem! :D Quote Link to comment Share on other sites More sharing options...
rATRIJS Posted July 3, 2010 Report Share Posted July 3, 2010 Arī ierakstīšu kaut ko, tik ne tik advancētu kā iepriekšējie cilvēki, kas gudrāki par mani :) Vēlams ir padomāt kāda iemesla dēļ tu to taisi. Tikai sava prieka pēc (nav svarīgi vai kāds to izmanto), citu dēļ (svarīgi, lai citi izmanto), abu dēļ (visticamāk - svarīgi kaut ko iemācīties un par skādi nenāktu, ja kāds arī to lietotu). Pieļauju, ka tādu pliku čata sistēmu neviens īpaši negribēs lietot. Vajadzēs taisīt ko interesantāku. Piemēram ko tādu, ko var embedod citā lapā izmantojot tavu API un/vai ko tādu, kam var nolādēt source'i un likt savā lapā. Tā kā vēlies kaut ko arī iemācīties, tad izmanto kaut ko, ko neesi izmantojis iepriekš. Mani, piemēram, kādu laiku interesē Redis tik neesmu atradis laiku un projektu kur to izmantot. Arī šādam čatam tas būtu noderīgs. Tehnoloģijas tālāk jau vari izvēlēties skatoties uz specifikāciju - ko vajag galā, piemēram, Redis izmantot nebūtu sevišķi labi, ja piedāvā čatu kā lejupielādējamu source'i, kuru citi cilvēki var lietot, jo reti, kurš hostings nodrošinās Redis atbalstu. Tad izvēlies socket'us vai ajax utt...vari testēt arī html5 iespējas (tik zini, ka būs grūti ar veco pārūku atbalstu). Katrā ziņā viss ir tavās rokās ^_^ Quote Link to comment Share on other sites More sharing options...
Kemito Posted July 3, 2010 Author Report Share Posted July 3, 2010 Dabūšu vēl gaidīt briedi, bet paldies par tavu atbildi vismaz :) Par kādu savdabīgu ieteikumu, arī kautkam priekšdienās :) Quote Link to comment Share on other sites More sharing options...
briedis Posted July 4, 2010 Report Share Posted July 4, 2010 (edited) Bļāviens, tiešām man jāraksta kaut kas? Es ar tik gudri nemācēšu izteikties, kā te daži :) Ja es to taisītu, tad taisītu primitīvi un vienkārši... Čats tak ir tā pati komentāru sistēma, praktiski tas pats forums, tikai atšķirība ir tā, ka ziņas parādās reālā laikā, nepārlādējot lapu, vienkāršā sarakstā... Iztēlojos pāris tabulas: users: user_id (auto incerement, pēc kā identificē lietotāju), username (redzamais vārds), password rooms: user_id (istabas īpašnieks), room_id (auto increment, istabas indetifikators), room_name (redzamais vārds), password (ja nu piekļuve tikai ar paroli) chat_messages: message_id(auto incerement, ziņas identifikators), room_id (istabas identifikators), user_id (rakstītājs), time (kad rakstīts), message_text Visus saziņu starp lietotāju un serveri varētu taisīt ar ajax (kaut gan tas nebūtu diez ko efektīvi, daudz konekciju sanāktu). Nu kaut kā tā... Pa vienkāršo... Edited July 4, 2010 by briedis Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.