Aleksandrs Posted April 26, 2005 Report Share Posted April 26, 2005 Intresanta un noderīga lieta ir socket serveri, pieņem un atbild uz pieprasijumiem, kad tie nepieciešami dinamiskā vidē ietaupa traffiku... Uz php viens primitīvs pimērs ir.. Zend lapā Jautājums, vai ar PHP kāds tādas lietas ir taisijis, vai tomēr prieksroka ir perl/java/u.c. socket serveriem? Link to comment Share on other sites More sharing options...
bubu Posted April 26, 2005 Report Share Posted April 26, 2005 Esmu taisījis, spēlēšanās nolūkos :) Īsti nesaprotu tavu domu ar trafika ietaupīšanu. Link to comment Share on other sites More sharing options...
Aleksandrs Posted April 27, 2005 Author Report Share Posted April 27, 2005 Taisot savādākiem līdzekļiem, lai iegūtu savaigāku informāciju vajag vislaik atjaunot datus(pieprasīt jaunus) tas taču ir lieks traffiks.. Taīsīt uz php vai citām valodām ir kāda būtiska atšķirība? Un kā var palaist php kā cgi laikam, lai nav jāizmanto kā zem apache moduļa... ? Link to comment Share on other sites More sharing options...
bubu Posted April 27, 2005 Report Share Posted April 27, 2005 (edited) Taisot savādākiem līdzekļiem, lai iegūtu savaigāku informāciju vajag vislaik atjaunot datus(pieprasīt jaunus) tas taču ir lieks traffiks.. Un kāda atšķirība no šī būs lietojot soketus? Praktiski jebkurš HTTP serveris taču arī veidots izmantojot soketus. Īpaši atšķirība no dažādām valodām nav, ja nu vienīgi jāimplementē algoritmi, kas patērē daudz resursu skaitļošanai. Tad labāk izvēlēties kompilējamu valodu. PHP cgi var palaist vienkārši - Windows distribūcijai php.exe fails (php-cgi.exe zem php4). Zem linux neatceros kā, bet pamēģini vienkārši php. Edited April 27, 2005 by bubu Link to comment Share on other sites More sharing options...
Aleksandrs Posted April 29, 2005 Author Report Share Posted April 29, 2005 Palaist sanāca kā cgi, viss cits ar apmēram skaidrs, bet ir viena problēma, man sockert serveris noslogo procesoru diezgan lielā daudzumā. Es taisu pēc zend parauga, varbū tur kāda vaina ? Link to comment Share on other sites More sharing options...
bubu Posted April 29, 2005 Report Share Posted April 29, 2005 Nu Zend paraugā it kā ir normāli, noslodzei nav jābūt lielai, ja nenotiek īpaši daudz datu pārraide. Varbūt tu pateiksi, kāpēc tavuprāt šādi veidots datu servēšanas veids ir labāks, nekā izmantojot parastu http get/post pieprasījumu? Link to comment Share on other sites More sharing options...
Aleksandrs Posted April 30, 2005 Author Report Share Posted April 30, 2005 Spēlēm, citām tiešsaites lietām, nevajag katru reizi pārbaudīt vai ir jauna informācija lapā attēlota... Kā es novēroju, tad procesora noslodze pieeaug tad, kad es izdzlēdzu savu client programmu(paliek neatvienojusies no socket servera) vai to var salabot no servera puses ? Link to comment Share on other sites More sharing options...
DelNet Posted April 30, 2005 Report Share Posted April 30, 2005 es vienreiz caur flash ar actionscript veidoju chatu... socket serveris ieksh php... un itkaa viss norm.. bet kad gribeeju developeet visu talaak.. atduuros pret stabu... PHP vienaa laikaa var pildiit tikai vienu uzdevumu... bet ja vajag vairaakus tad var lek uz ezha.. Lasiijos netaa, citi arii teica, ka php var izmantot, bet nekas jaudiigs nebus un ieteica vismaz python... tad nu kopsh taa laika paartraucu un taa veel nesmu uztaisiijis to socket serveri ar c/c++ :) Laika nav utt.. un pie tam sava hobija peec tas ir bishk pa daudz, nedaudz velaak varbuut istenoshu... Link to comment Share on other sites More sharing options...
Aleksandrs Posted April 30, 2005 Author Report Share Posted April 30, 2005 Atradu problēmu, bet nezinu kā labot, no zend koda izgreizu šo rindiņu: if ($input == null) { // Zero length string meaning disconnected unset($client[$i]); } Bet ar to ir problēma, ja vairāki klienti pievienojušies un viens sūta datus, citus tajā brīdī atvieno, jo viņi neko nesūta... Kā lai to salabo? Sākumā jau var uz php, ja tā lieta sanāks tīri smuka, tad jau varēs domāt socket servera izveidi uz piemērotākas valodas, tikmēr nav laika apgūt citas valodas... Link to comment Share on other sites More sharing options...
bubu Posted April 30, 2005 Report Share Posted April 30, 2005 PHP vienaa laikaa var pildiit tikai vienu uzdevumu... bet ja vajag vairaakus tad var lek uz ezha.. Zem Linux var lieot POSIX threadus, tādējādi veidojot vairākprocesu programmu. Zem Windows gan nekas tāds nesanāks. Link to comment Share on other sites More sharing options...
bubu Posted April 30, 2005 Report Share Posted April 30, 2005 (edited) Kā es novēroju, tad procesora noslodze pieeaug tad, kad es izdzlēdzu savu client programmu(paliek neatvienojusies no socket servera) vai to var salabot no servera puses ? Parādi kodu, kā lai zin kā tu tur esi visu saveidojis :) Spēlēm, citām tiešsaites lietām, nevajag katru reizi pārbaudīt vai ir jauna informācija lapā attēlota...Ā nu ne-webiskām (lapām) tas tiešām der. Bet ar to ir problēma, ja vairāki klienti pievienojušies un viens sūta datus, citus tajā brīdī atvieno, jo viņi neko nesūta... Nesapratu. Kādā rakā tu tur citus klientus atvienu, ja viņi nesūta neko? Edited April 30, 2005 by bubu Link to comment Share on other sites More sharing options...
Aleksandrs Posted April 30, 2005 Author Report Share Posted April 30, 2005 Nesapratu. Kādā rakā tu tur citus klientus atvienu, ja viņi nesūta neko? Apskaties to zend kodu, man no tā nekas būtisks neatšķirās tikai atbildes funkcijas saveidoju, bez kurām ir tā pati problēma.. Tur ir uztaisīts, ja kāds klients nesūta neko, bet cits sūta, ciņu izņem no $client Array, bet ja viņš nav $client Array ielikts vispār, tad viņa soccket atvieno. Link to comment Share on other sites More sharing options...
Recommended Posts