PHP рдореЗрдВ рд╡реЗрдм рд╕реЙрдХреЗрдЯред рднрд╛рдЧ 3. рдЪреИрдЯ рд╕реЗ рдЦреЗрд▓ рддрдХ: рдмреИрдЯрд▓ рд╕рд┐рдЯреА

рдкрд┐рдЫрд▓реЗ рджреЛ рднрд╛рдЧреЛрдВ ( рд╕реНрдХреНрд░реИрдЪ рдФрд░ рдЗрдВрдЯрд░-рдкреНрд░реЛрд╕реЗрд╕ рд╕рдВрдЪрд╛рд░ рд╕реЗ PHP рд╡реЗрдмрд╕реНрдХреИрдЯ рдмрдирд╛рдирд╛ ) рдореЗрдВ, рдореИрдВрдиреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдЪреИрдЯ рд░реВрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдПрдХ рдСрдирд▓рд╛рдЗрди рдЧреЗрдо рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рджрд┐рдЦрд╛рдКрдВрдЧрд╛ рдХрд┐ рд╡реЗрдм рд╕реЙрдХреЗрдЯ рдХрд╛ рджрд╛рдпрд░рд╛ рдмрд╣реБрдд рд╡реНрдпрд╛рдкрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рдПрдХ рдбреЗрдореЛ рдЧреЗрдо рдФрд░ рдЬреАрдердм рдкрд░ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рд▓рд┐рдВрдХ рд╣реИрдВред

рд╕рд╛рдордЧреНрд░реА:


рдмреНрд░рд╛рдЙрдЬрд╝рд░ рджреНрд╡рд╛рд░рд╛ рд╡реЗрдм рд╕реЙрдХреЗрдЯ рд╕рдорд░реНрдерди


рдХреБрдЫ рд▓реЛрдЧ рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗрдм рд╕реЙрдХреЗрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрд╣реБрдд рдЬрд▓реНрджреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЕрднреА рддрдХ рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреЗрд╡рд▓ рд╡реИрдХрд▓реНрдкрд┐рдХ рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдХреЗ рд░реВрдк рдореЗрдВ: Adobe┬о Flash┬о рд╕реЙрдХреЗрдЯ, AJAX рд▓рдВрдмрд╛ рдорддрджрд╛рди, AJAX рдорд▓реНрдЯреАрдкрд╛рд░реНрдЯ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ, рдлреЙрд░рдПрд╡рд░ рдЖрдЗрдлреНрд░реЗрдо, JSONP рдкреЛрд▓рд┐рдВрдЧред

рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рд╣рдореЗрдВ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡реЗрдм рд╕реЙрдХреЗрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ :
Google Chrome (рд╕рдВрд╕реНрдХрд░рдг 4.0.249.0 рдХреЗ рдмрд╛рдж рд╕реЗ);
Apple рд╕рдлрд╛рд░реА (рд╕рдВрд╕реНрдХрд░рдг 5.0.7533.16 рдХреЗ рдмрд╛рдж рд╕реЗ);
рдореЛрдЬрд╝рд┐рд▓рд╛ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ (рд╕рдВрд╕реНрдХрд░рдг 4 рдХреЗ рдмрд╛рдж рд╕реЗ);
рдУрдкреЗрд░рд╛ (рд╕рдВрд╕реНрдХрд░рдг 10.70 9067 рд╕реЗ);
рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ (рд╕рдВрд╕реНрдХрд░рдг 10 рдХреЗ рдмрд╛рдж рд╕реЗ);

рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рдмрд╕реЗ рдХрдордЬреЛрд░ рд▓рд┐рдВрдХ рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рджрд╕рд╡реАрдВ рд╕реЗ рдХрдо рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВред рд▓рд╛рдЗрд╡рдЗрдВрдЯрд░рдиреЗрдЯ рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд░реВрд╕ рдХреЗ рд▓рд┐рдП - 9, 8, 7 рдФрд░ 6 рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рд╡рд╛рд▓реЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдореЗрдВ рдХреНрд░рдорд╢рдГ 1.4, 1.7, 0.5 рдФрд░ 0.1 рдкреНрд░рддрд┐рд╢рдд рдХреЗ рд╢реЗрдпрд░ рд╣реИрдВред рдХреБрд▓ 3.7% рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рд╣рдо рдЕрдиреНрдп рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЗрд╕ рдЖрдВрдХрдбрд╝реЗ рдХреЛ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рдЕрдВрддрд┐рдо рд░реЗрдЯрд┐рдВрдЧ рдереЛрдбрд╝реА рдмрдврд╝ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ 4% рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╣рд░ рдХрд┐рд╕реА рдХреЛ рдЕрдкрдиреЗ рд▓рд┐рдП рдлреИрд╕рд▓рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХреНрдпрд╛ рд╡реИрдХрд▓реНрдкрд┐рдХ рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ рдХрд╛ рдЪрд┐рдбрд╝рд┐рдпрд╛рдШрд░ рдмрдирд╛рдП рд░рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдпрд╛ рдЗрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рдЬрд╛рдПрдВ рдФрд░ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░реЗрдВред
рдирд┐рд╖реНрдкрдХреНрд╖рддрд╛ рдореЗрдВ, рдореИрдВ рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд╡рд┐рджреЗрд╢реЛрдВ рдореЗрдВ рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдЕрдзрд┐рдХ рд╣реИ, рдФрд░ рд╡реЗрдм рд╕реЙрдХреЗрдЯ рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рд╕реНрдерд┐рддрд┐ рдЗрд╕реА рд╣реИред рд╕рдВрд╕реНрдХрд░рдг 3, 9, 8, 7 рдФрд░ 6 рд╡рд╛рд▓реЗ w3schools рд╡реЗрдмрд╕рд╛рдЗрдЯ рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдХреЗ рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдХреНрд░рдорд╢рдГ 2.3, 3.1, 0.4 рдФрд░ 0.1 рдкреНрд░рддрд┐рд╢рдд рдХреА рд╣рд┐рд╕реНрд╕реЗрджрд╛рд░реА рд╣реИ, рдЬреЛ рдХрд┐ 5.9% рд╣реИред

рдСрдирд▓рд╛рдЗрди рдЦреЗрд▓ рд╡рд┐рдХрд╛рд╕


рддреЛ, рдЕрдм рдореБрдЦреНрдп рдмрд┐рдВрджреБ рдкрд░ред Php рдкрд░ рд╡реЗрдм рд╕реЙрдХреЗрдЯ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЦреЗрд▓ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдпрд╣ рддрдп рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА рдХрд┐ рдХреМрди рд╕рд╛ рд╣реИред рд╢рд╛рдпрдж рдЙрд╕рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдпрд╣реА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА:
рд╕рднреА рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЛ рдПрдХ рд╣реА рдирдХреНрд╢реЗ рдкрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП

рдореИрдВ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдПрдХ рд▓рдВрдмреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рдЪрд▓рд╛ рдЧрдпрд╛, рдЬрдм рддрдХ рдХрд┐ рдореИрдВ "рдЯреЛрд╕реНрдЯрд░" рдореЗрдВ рдЗрд╕ рдкреГрд╖реНрда рдкрд░ рдирд╣реАрдВ рдЖрдпрд╛, рдЬрд╣рд╛рдВ рдЯреНрд░реИрдкрдмреНрд▓рд┐рдХрд▓ , рдЬреЛ рдХрд┐ phpdaemon рдХреЗ рдбреЗрд╡рд▓рдкрд░ рд╣реИрдВ, рд╕рдореБрджрд╛рдп рдХреЛ рдПрдХ рд╕рд░рд▓ рдЧреЗрдо рдХрд╛ рд╡рд┐рдЪрд╛рд░ рд╕реБрдЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реИ рдЬреЛ рд╡реЗрдм рд╕реЙрдХреЗрдЯреНрд╕ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛ред рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдХреБрдЫ рдЙрддреНрддрд░ рдХрд╛рдлреА рджрд┐рд▓рдЪрд╕реНрдк рдереЗ, рдпрд╣ рд╕рд╡рд╛рд▓ рд▓рдЧрднрдЧ 3 рд╕рд╛рд▓ рдкреБрд░рд╛рдирд╛ рд╣реИ ...
рд╕рднреА рдкреНрд░рд╕реНрддрд╛рд╡реЛрдВ рдореЗрдВ рд╕реЗ, рдореИрдВрдиреЗ "рдЯреИрдВрдХ" рдЪреБрдирд╛, рд▓реЗрдХрд┐рди рд╡реЗ рдЬреЛ рдкреЗрд╢рдХрд╢ рдХрд░ рд░рд╣реЗ рдереЗ, рдЙрд╕рдХрд╛ рдПрдХ рд╕рд░рд▓реАрдХреГрдд рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рди рдХрд┐ рдПрдХ рдкреВрд░реНрдг рдЦреЗрд▓, рддрд╛рдХрд┐ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рджреЗрд░реА рди рд╣реЛ рдФрд░ рдбреЗрдореЛ рдЕрднреА рднреА рдкреНрд░рдХрд╛рд╢ рдХреЛ рджреЗрдЦреЗ, рдФрд░ рдореЗрд░реЗ рджрд┐рдорд╛рдЧ рдХреЗ рд╣реЙрд▓ рдореЗрдВ рдирд╣реАрдВ рд░рд╣реЗред
рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рд╕реЗ рдЪреИрдЯ рдХреЛрдб рд▓реЗрддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдПрдХ рдЫреЛрдЯрд╛ рдЧреНрд░рд╛рд╣рдХ рднрд╛рдЧ рдЬреЛрдбрд╝рд╛:

рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдкрд░, рдореИрдВрдиреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рд╕рдВрджреЗрд╢ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдереЛрдбрд╝рд╛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд┐рдпрд╛:

рддреАрди рдЯреИрдВрдХреЛрдВ рд╡рд╛рд▓реЗ рд╕рд░реНрд╡рд░ рд╕реЗ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛
[{"рдирд╛рдо": "adsa", "x": реирел, "y": рей:, "dir": "рд╕рд╣реА", "рд╕реНрд╡рд╛рд╕реНрдереНрдп": реж}, {"рдирд╛рдо": "qwe", "x": 20, "y": 18, "dir": "рд╕рд╣реА", "рд╕реНрд╡рд╛рд╕реНрдереНрдп": 0}, {"рдирд╛рдо": "sgfd4", "x": 5, "y": 7, "dir": "рд╕рд╣реА" "," рд╕реНрд╡рд╛рд╕реНрдереНрдп ": 0}]

рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдЯреИрдВрдХ рд╕реНрдХреНрд░реАрди рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдШреВрдо рд░рд╣реЗ рд╣реИрдВред

рдЪреВрдБрдХрд┐ рдореИрдВ 50 - 500 рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдХреА рдХрд╣реАрдВ рдкрд░ рдЧрд┐рдирддреА рдХрд░ рд░рд╣рд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рдХрд┐ рд╕рднреА рдЯреИрдВрдХ рдПрдХ рд╕реНрдХреНрд░реАрди рдкрд░ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЯреИрдВрдХ рдХреЗ рджрд╛рдпрд░реЗ рдХреЛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдмреИрдЯрд▓ рд╕рд┐рдЯреА рдлрд╝реАрд▓реНрдб рдХреЗ рдЖрдХрд╛рд░ рддрдХ рд╕реАрдорд┐рдд рдХрд░ рджрд┐рдпрд╛, рдФрд░ рдПрдХ рдорд┐рдиреИрдк рднреА рдЬреЛрдбрд╝ рджрд┐рдпрд╛ред рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдореВрд▓ рдХрд╛рд▓реА рдкреГрд╖реНрдарднреВрдорд┐ рдкрд░ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЯреИрдВрдХ рдЖрдЧреЗ рдмрдврд╝ рд░рд╣рд╛ рд╣реИ, рдпрд╛ рдмрд╛рдХреА рд╕рдм рдХреБрдЫ, рдореБрдЭреЗ рдПрдХ рдмрдирд╛рд╡рдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдерд╛ред рдпрджрд┐ рдЖрдк рдмрдирд╛рд╡рдЯ рдХреЗ рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рд╕рдВрд╕реНрдХрд░рдг рдХреА рдкреЗрд╢рдХрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рдЫреЛрдбрд╝ рджреЗрдВред

рдЕрдЧрд▓рд╛ рдХрджрдо рдерд╛ рд╢реВрдЯрд┐рдВрдЧред рдЗрд╕рдХреЗ рд▓рд┐рдП, рди рдХреЗрд╡рд▓ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдмрд▓реНрдХрд┐ рдирд┐рдХрд╛рд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯрд╛рдЗрд▓ рдХреА рдЧрддрд┐ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдорд░ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рднреА рд╣реИ (рдореИрдВрдиреЗ рддрдп рдХрд┐рдпрд╛ рдХрд┐ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб 10 рдмрд╛рд░ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ рдпрд╛ рдкреНрд░рддреНрдпреЗрдХ 100,000 рдорд╛рдЗрдХреНрд░реЛрд╕реЗрдХрдВрдб рдХреНрд░рдорд╢рдГ)ред рдореБрдЭреЗ рдпрд╛рдж рджрд┐рд▓рд╛рдПрдВ рдХрд┐ рдореИрдВрдиреЗ stream_select(array &$read, array &$write, array &$except, int $tv_sec [, int $tv_usec = 0]) рдлрд╝рдВрдХреНрд╢рди stream_select(array &$read, array &$write, array &$except, int $tv_sec [, int $tv_usec = 0]) , рдЬреЛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕реЙрдХреЗрдЯреНрд╕ рдХреЗ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЬрдм рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рддреЛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЙрдиреНрд╣реЗрдВ, рдпрд╛ рдЯрд╛рдЗрдордЖрдЙрдЯ рджреНрд╡рд╛рд░рд╛ред рдЯрд╛рдЗрдорд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЯрд╛рдЗрдордЖрдЙрдЯ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЬреЛ рдХреБрдЫ рд╣реБрдЖ рд╡рд╣ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред
рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЗ рд╕рд╛рде stream_select рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдПрдХ рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред рдпрджрд┐ рдЖрдк рдЕрднреА рднреА рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдХрдо рд╕реЗ рдХрдо 200,000 рдорд╛рдЗрдХреНрд░реЛрд╕реЗрдХрдВрдб рдХреЗ рдЯрд╛рдЗрдордЖрдЙрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддреЗ рд╣реИрдВред

100,000 рдорд╛рдЗрдХреНрд░реЛрд╕реЗрдХрдВрдб рдХреЗ рдореЗрд░реЗ рд╕рдордп рдХреЗ рд╕рд╛рде, рдкреНрд░реЛрд╕реЗрд╕рд░ рд▓реЛрдб 100% рдерд╛ред

рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ, рдореИрдВрдиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рднрд▓реЗ рд╣реА рдореЗрд░реЗ рдЯреИрдВрдХ рд╢реВрдЯ рди рдХрд░реЗрдВ, рдлрд┐рд░ рднреА рдЙрдиреНрд╣реЗрдВ рдмрд╛рддрдЪреАрдд рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред рддреЛ рдореИрдВ рдЙрдирдХреЗ рдЯрдХрд░рд╛рд╡ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╢реБрд░реВ рдХрд┐рдпрд╛ :)
рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рдерд╛ рдХрд┐ рджреЛрдиреЛрдВ рдЯреИрдВрдХреЛрдВ рдореЗрдВ рд╕реЗ рдХреМрди рд╕реА рдПрдХ рд╣реЗрдб-рдСрди рдЯрдХреНрдХрд░ рдХреЗ рд▓рд┐рдП рдЕрдВрдХ рдЧрд┐рдирддреА рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдХрдард┐рдирд╛рдЗрдпреЛрдВред рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ, рдореИрдВрдиреЗ рдЗрди рджреЛ рдЕрд╕реНрдкрд╖реНрдЯ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрдкрд░реНрдХ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдФрд░ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рд╢реЗрд╖ рд╡рд┐рдХрд▓реНрдк рдмрдЪрд╛ рдерд╛ - рдПрдХ рдЯреИрдВрдХ рдкреАрдЫреЗ рд╕реЗ рджреВрд╕рд░реЗ рдХреЛ рд░реИрдВрдк рдХрд░рддрд╛ рд╣реИред

рдЗрд╕ рдкрд░ рдХреЛрдИ рд░реЛрдХ рд╕рдХрддрд╛ рд╣реИ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ - "рдмрд╛рддрдЪреАрдд" рдХрд╛ рд▓рдХреНрд╖реНрдп рд╣рд╛рд╕рд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдФрд░ рдЕрдзрд┐рдХ рдЪрд╛рд╣рддрд╛ рдерд╛ред
рдХреБрдЫ рдФрд░ рд╕рдордп рдмрд┐рддрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдкрд░рд┐рд╡рд╛рдж (рдЕрдм рдореЗрд░рд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп sream_select рдФрд░ libevent рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЯрд╛рдЗрдорд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛:
 $this->base = event_base_new(); $this->event = event_new(); event_set($this->event, $this->_server, EV_READ | EV_PERSIST, array($this, 'accept'), $this->base); event_base_set($this->event, $this->base); event_add($this->event); $timer = event_timer_new(); event_timer_set($timer, array($this, '_onTimer'), $timer); event_base_set($timer, $this->base); event_timer_add($timer, 100000); event_base_loop($this->base); 


рд╕реНрдорд╛рд░реНрдЯ рд▓реЛрдЧ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдХрд┐ event_timer рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХ рдмрдлрд░ рд╣реИ рдЬрд┐рд╕рдХрд╛ рд╕рдордп рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдореИрдВрдиреЗ рдпрд╣ рджреЗрдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдХреНрдпрд╛ рд╕реНрдЯреНрд░реАрдо_рд╕реЗрд▓реЗрдХреНрдЯ рдХреЗ рд╕рдорд╛рди рдХреБрдЫ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди, рдХреЛрдИ рдлрд╛рдпрджрд╛ рдирд╣реАрдВ рд╣реБрдЖ ред рдпрджрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд▓рд┐рдЦреЗрдВред

рдЕрдм рдореИрдВ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛:
 $pair = stream_socket_pair(STREAM_PF_UNIX, STREAM_SOCK_STREAM, STREAM_IPPROTO_IP);//   $pid = pcntl_fork();//  if ($pid == -1) { die("error: pcntl_fork\r\n"); } elseif ($pid) { // fclose($pair[0]); $pair[1];//     ,       sream_select } else { //  fclose($pair[1]); $parent = $pair[0];//   ,       10    while (true) { fwrite($parent, '1'); usleep(100000); } } 

рдирддреАрдЬрддрди, рдкреНрд░реЛрд╕реЗрд╕рд░ рд▓реЛрдб рд▓рдЧрднрдЧ 0% рд╣реИред

рдЕрдм рдХреБрдЫ рднреА рдореБрдЭреЗ рд╢реВрдЯрд┐рдВрдЧ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдирд╣реАрдВ рд░реЛрдХрддрд╛ рдерд╛, рд▓реЗрдХрд┐рди, рдЕрдкрдиреЗ рджреЛрд╕реНрддреЛрдВ рдХреЗ рдЕрдиреБрд░реЛрдз рдкрд░, рдореИрдВрдиреЗ "рд╕рдВрдШрд░реНрд╖" рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред

рдзрдиреНрдпрд╡рд╛рдж


рдореИрдВ рдЙрди рд╕рднреА рдХреЛ рдзрдиреНрдпрд╡рд╛рдж рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдкрд╣рд▓реЗ рджреЛ рдкреНрд░рдХрд╛рд╢рдиреЛрдВ рдореЗрдВ рдореЗрд░реЗ рдХреЛрдб рдХреА рдХрдорд┐рдпреЛрдВ рдХреА рдУрд░ рдореЗрд░рд╛ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд┐рдпрд╛:
рд╕реНрдХреЗрдк , рдкреИрд╡реЗрд▓рд┐рдХ , рдореЗрдпрд░реЛрд╡рдк , рдЯреНрд░реВрдЬрд╝реЗрдореЗрдЬрд╝ , рдлреЗрд╕рд░ , sovok_kpss , spein , seriyPS
рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, +1 рдХрд░реНрдоред
рдЖрдкрдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЖрдк рдкрд░рд┐рдгрд╛рдореА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рд░рддрд╛ рдФрд░ рдореЗрд░реЗ рд▓рд┐рдП рдЧрд╣рд░реА рд╕рдордЭ рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗред

рдбреЗрдореЛ рдФрд░ рд╕реНрд░реЛрдд рдХреЛрдб


рддрдХрдиреАрдХреА рд╡рд┐рд╡рд░рдг:

рдбреЗрдореЛ рдЧреЗрдо (рд╕реНрдЯреНрд░реАрдо_рд╕реЗрд▓реЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ)
рдбреЗрдореЛ рдЧреЗрдо (libevent рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ)
рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб рдФрд░ рдЙрджрд╛рд╣рд░рдг рдЬреАрдердм рдкрд░ рд╣реИ рдФрд░ рдПрдордЖрдИрдЯреА рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рдЙрдкрд▓рдмреНрдз рд╣реИред

Source: https://habr.com/ru/post/In211504/


All Articles