WebRTC рдХреЛ рдбреАрдмрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ

Voximplant рдореЗрдВ, рд╣рдо рд╢реБрд░реБрдЖрдд рд╕реЗ рд╣реА WebRTC рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ: рдкрд╣рд▓реЗ рд╡реЙрдпрд╕ рдФрд░ рд╡реАрдбрд┐рдпреЛ рдХреЙрд▓ рдХреЗ рд▓рд┐рдП Flash рдХреЗ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ, рдФрд░ рдлрд┐рд░ рдПрдХ рдкреВрд░реНрдг рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рд░реВрдк рдореЗрдВред рддрдХрдиреАрдХ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдПрдХ рд▓рдВрдмрд╛ рдФрд░ рджрд░реНрджрдирд╛рдХ рд░рд╛рд╕реНрддрд╛ рдмрди рдЧрдпрд╛ рд╣реИ, рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╕рднреА рдкреНрд░рдореБрдЦ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдиреЗ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рд╕реНрдХреНрд░реАрди рдЯреНрд░рд╛рдВрд╕рдорд┐рд╢рди, рдХрдИ рд╡реАрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рдФрд░ рдХрднреА-рдХрднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдпрджрд┐ рдЖрдк рдмрдВрдж рдХрд░ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рд╡реАрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рдЪрд╛рд▓реВ рдХрд░рддреЗ рд╣реИрдВред рд╕рдВрдЪрд┐рдд рдЕрдиреБрднрд╡ рд╣рдореЗрдВ рд╣реЗрдмрд░ рдХреЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рд▓реЗрдЦреЛрдВ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдЖрдЬ рд╣рдо рдЬрд╝реАрд░рд╕ рд╕реЗ рд▓реА рд╕рд┐рд▓реНрд╡реЗрд╕реНрдЯрд░ рдХреЛ рд╢рдмреНрдж рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдХреНрд░реЛрдо, рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕, рд╕рдлрд╛рд░реА рдФрд░ рдПрдЬ рдореЗрдВ рдбреАрдмрдЧрд┐рдВрдЧ (рд╡реАрдбрд┐рдпреЛ) рдХреЙрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред WebRTC рдХреЛ рдбреАрдмрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд▓реЛрдХрдкреНрд░рд┐рдп рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рд▓реЙрдЧ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рдирд┐рд░реНрджреЗрд╢ рднреА рд╣реИрдВред рдФрд░ рд▓реА рдХреЗ рдкрд╛рд╕ рдХреНрдпрд╛ рд╣реИ - рдЖрдк рдХрдЯ (рд╕реНрдкреЙрдЗрд▓рд░: рд╡рд╛рдпрд░рд╢рд╛рд░реНрдХ рд╕рд╣рд┐рдд, рдмрд╣реБрдд рдХреБрдЫ) рдХреЗ рддрд╣рдд рдкрддрд╛ рд▓рдЧрд╛рдПрдВрдЧреЗред


WebRTC рдХрд╛ рд╕реНрдпрд╛рд╣ рдкрдХреНрд╖


Xirsys рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рджреМрд░рд╛рди, рдореИрдВрдиреЗ рдХреБрдЫ рдмрд╣реБрдд рдЕрдЪреНрдЫреЗ рдРрдкреНрд╕ рджреЗрдЦреЗ, рдЬреЛ WebRTC рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рдереЗред рд▓реЗрдХрд┐рди рдЬрдм рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕рдореВрд╣ рдЙрдЪреНрдЪ-рддрдХрдиреАрдХреА рд╕рд╛рдорд╛рди рдмрдирд╛рддрд╛ рд╣реИ, рддреЛ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ WebRTC рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рднреА рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреНрдпреЛрдВ? рдФрд░ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИред рдпрд╣ рдЬрдЯрд┐рд▓ рд╣реИред

рд╣рдо рдореЗрдВ рд╕реЗ рдХрдИ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВред рдРрд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдПрдХ рдХреНрд▓рд╛рдЗрдВрдЯ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдЕрдиреБрд░реЛрдз рднреЗрдЬрддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╕рд░реНрд╡рд░ рдЬреЛ рдЗрди рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрддрд╛ рд╣реИред рдПрдХ рд╕рд░рд▓, рд░реИрдЦрд┐рдХ рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рдирд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ред рдЕрдЧрд░ рдХреБрдЫ рдЧрд▓рдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╣рдо рдЖрдорддреМрд░ рдкрд░ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд▓реЙрдЧ рдХреЛ рдХрд╣рд╛рдВ рджреЗрдЦрдирд╛ рд╣реИ рдФрд░ рдХреНрдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди WebRTC рдХреЗ рд╕рд╛рде, рд╕рдм рдХреБрдЫ рдЗрддрдирд╛ рд╕рд░рд▓ рдирд╣реАрдВ рд╣реИред

asynchrony


рдпрджрд┐ рдЖрдкрдиреЗ рдХрднреА рдПрдХ рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦрд╛ рд╣реИ, рддреЛ рдЖрдк рд╢рд╛рдпрдж рд╕рд┐рд░рджрд░реНрдж рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд╡рд┐рдХрд╛рд╕ рджреЗрддрд╛ рд╣реИред рдЙрдбрд╝рд╛рдиреЗрдВ, рдмреБрд░реА рдпрд╛рджрджрд╛рд╢реНрдд - рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рд╕рд┐рд░реНрдл рдмрдЧреНрд╕ рдЬрд┐рдиреНрд╣реЗрдВ рдвреВрдВрдврдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред

WebRTC рдкреНрд░рдХреГрддрд┐ рдореЗрдВ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╣реИред рдФрд░ рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рд╕рд░рд▓ AJAX рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдирд╣реАрдВ рд╣реИред рдПрдХ рд╕рд╛рджреГрд╢реНрдп рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпреЗ рдПрдХ рд╕рд╛рде рдХрдИ AJAX рдЕрдиреБрд░реЛрдз рд▓реЙрдиреНрдЪ рдХрд┐рдП рдЧрдП рд╣реИрдВ рдЬреЛ рджреЛ рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдкрд░ рдбреЗрдЯрд╛ рдХреЛ рдорд┐рд▓рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред рд╡рд╣ рдЕрднреА рднреА рдордиреЛрд░рдВрдЬрди рд╣реИред

рдиреИрдЯ рдмрд╛рдИрдкрд╛рд╕ рдорд╛рдЗрдирдлреАрд▓реНрдб


рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдирд╛ рд╕рд░реНрд╡рд░ рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдХреБрдЫ рдЪреАрдЬрд╝реЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдЖрддрд╛ рд╣реИ рдФрд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рдЪреАрдЬ рдЬреЛ рдкреЛрд░реНрдЯ рд╣реЛ рд╕рдХрддреА рд╣реИ рд╡рд╣ IPTables рдореЗрдВ рдЦреБрд▓реА рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдЪрд╛рд░ 2 рдорд┐рдирдЯ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдк WebRTC рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдХрд╣ рд╕рдХрддреЗред

рд╡реЗрдм рд╕рд░реНрд╡рд░, рдЙрдирдХреЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рднреА рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рд╣рд╛рд░реНрдбрд╡реЗрдпрд░, рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрдИрдкреА рдкрддреЗ рд╡рд╛рд▓реЗ рдЙрдкрдХрд░рдг рд╣реИрдВред рдЗрдиреНрд╣реЗрдВ рдХрд╣реАрдВ рд╕реЗ рднреА рд╕реБрд▓рдн рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ WebRTC рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рдбреЗрдЯрд╛ рднреЗрдЬрдиреЗ рдФрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЬрд┐рд╕рдореЗрдВ рдЖрдорддреМрд░ рдкрд░ 192.168 рдХрд╛ рдПрдХ рдЖрдИрдкреА рдкрддрд╛ рд╣реЛрддрд╛ рд╣реИред рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рд╕реЗ рдХреБрдЫ рдЬрд▓рд╛ рдирд╣реАрдВред

WebRTC рдХреЗ рд▓реЗрдЦрдХреЛрдВ рдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрдВрдЬрди рджреЛ рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдХрдиреЗрдХреНрд╢рди рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЫрд╛рдБрдЯреЗрдЧрд╛, рдЬреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдбрд┐рдЬрд╝рд╛рдЗрди рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рд╣реИрдВред

рдбрд┐рдмрдЧрд┐рдВрдЧ рдХрд╣рд╛рдБ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ


рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреБрдирд┐рдпрд╛рджреА рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддрд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рд╡реЗрдмрдЖрд░рдЯреАрд╕реА рдЖрдорддреМрд░ рдкрд░ рдПрдХ рдХрдиреЗрдХреНрд╢рди рдХреИрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред

WebRTC рдПрдХ рдХрдиреЗрдХреНрд╢рди рдХреИрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ


рд╕рднреА WebRTC рдХрдиреЗрдХреНрд╢рди рдХреЛ рд╕рд┐рдЧреНрдирд▓рд┐рдВрдЧ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕реЗ рдереЛрдбрд╝реА рдорджрдж рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред "рд▓рд┐рдЯрд┐рд▓ рд╣реЗрд▓реНрдк" рдЖрдкрдХрд╛ рдЕрдкрдирд╛ рд╕рд░реНрд╡рд░ рдФрд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдХреЙрд▓рд░ рдкреАрдпрд░-рдЯреВ-рдкреАрдпрд░ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЙрд╕ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛, рдЬрд┐рд╕реЗ рд╡рд╣ рдмреБрд▓рд╛ рд░рд╣рд╛ рд╣реИред

WebRTC IP рдкрддреЗ, рдХреИрдкреНрдЪрд░ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдФрд░ рдЖрд╡рд╛рдЬ рдФрд░ рд╡реАрдбрд┐рдпреЛ, рдиреЗрдЯрд╡рд░реНрдХ рдЯреЛрдкреЛрд▓реЙрдЬреА рдФрд░ рд╕рдВрдЪрд╛рд░рд┐рдд рдбреЗрдЯрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рдЧреНрдирд▓рд┐рдВрдЧ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред

рдЖрдорддреМрд░ рдкрд░ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ COMET (рдпрд╛ SIP - рдЕрдиреБрд╡рд╛рджрдХ рдХрд╛ рдиреЛрдЯ) рдФрд░ рд╡реЗрдм рд╕реЙрдХреЗрдЯ рд╣реИред WebRTC рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдХреБрдЫ рднреА рд╕реАрдорд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдЬреЛ рднреА рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ рдЙрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХрдо рд╕реЗ рдХрдо рдбреЗрдЯрд╛ рдХреЛ рдиреЛрдЯрдкреИрдб рдФрд░ рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдХрд╛рд░реНрдпрд╢рд╛рд▓рд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ - рдлрд┐рд░ рд╕реЗ рдПрдХ рдЕрдиреБрд╡рд╛рджрдХ)ред рджреЛрдиреЛрдВ рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╕рд┐рдЧреНрдирд▓рд┐рдВрдЧ рдЖрдкрдХреЛ рд╡реЗрдмрдЖрд░рдЯреАрд╕реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдХрдиреЗрдХреНрд╢рди рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдкреНрд░рд╕реНрддрд╛рд╡ рдФрд░ рдЙрддреНрддрд░ рджреЗрдВ


WebRTC рдХрдиреЗрдХреНрд╢рди "рдСрдлрд╝рд░" рдФрд░ "рдЙрддреНрддрд░" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ:

  1. рдХрдиреЗрдХреНрд╢рди рдХреЗ рд╕рд░реНрдЬрдХ рджреВрд╕рд░реА рдУрд░ "рдкреНрд░рд╕реНрддрд╛рд╡" рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИред
  2. рджреВрд╕рд░реА рдкрд╛рд░реНрдЯреА рдПрдХ "рдкреНрд░рд╕реНрддрд╛рд╡" рдкреНрд░рд╛рдкреНрдд рдХрд░рддреА рд╣реИ, рдПрдХ "рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛" рдмрдирд╛рддреА рд╣реИ рдФрд░ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдкрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИред
  3. рдХрдиреЗрдХреНрд╢рди рдХреЗ рдЖрд░рдВрднрдХрд░реНрддрд╛ рдХреЛ рдПрдХ "рдЙрддреНрддрд░" рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред

рдпрд╣ рд╕рд┐рджреНрдзрд╛рдВрдд рдореЗрдВ рд╣реИред рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рд╢рд┐рд╖реНрдЯрд╛рдЪрд╛рд░ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдЗрддрдирд╛ рд╕рд░рд▓ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИред

  1. "рдСрдлрд╝рд░" рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдХрдиреЗрдХреНрд╢рди рд╕рд░реНрдЬрдХ RTCPeerConnection рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ рдЯреЗрдХреНрд╕реНрдЯ рдкреИрдХреЗрдЯ "SDP" (рд╕рддреНрд░ рд╡рд┐рд╡рд░рдг рдкреНрд░реЛрдЯреЛрдХреЙрд▓) rtcPeerConnection.createOffer () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ; рдпрд╣ рдкреИрдХреЗрдЬ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╛рдЬ рдФрд░ рд╡реАрдбрд┐рдпреЛ рдкреНрд░рд╛рдкреНрдд / рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред
  2. SDP рдкреИрдХреЗрдЬ рдХреА рд╕рд╛рдордЧреНрд░реА rtcPeerConnection.setLocalDescription () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ "рдХрдиреЗрдХреНрд╢рди рдХреЗ рд╕реНрдерд╛рдиреАрдп рдкрдХреНрд╖ рдХрд╛ рд╡рд░реНрдгрди" рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХреА рдЬрд╛рддреА рд╣реИред
  3. рдкреИрдХреЗрдЯ рдХреЛ рджреВрд╕рд░реА рддрд░рдл рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ rtcPeerConnection.setRemoteDescription () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ "рдХрдиреЗрдХреНрд╢рди рдХреЗ рджреВрд╕рд░реЗ рдкрдХреНрд╖ рдХрд╛ рд╡рд░реНрдгрди" рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  4. рдХрдиреЗрдХреНрд╢рди рдХреЗ рджреВрд╕рд░реА рддрд░рдл, рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдПрд╕рдбреАрдкреА рдкреИрдХреЗрдЬ рдХреЛ rtcPeerConnection.createAnswer () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ "рдХрдиреЗрдХреНрд╢рди рдХреЗ рд╕реНрдерд╛рдиреАрдп рдкрдХреНрд╖ рдХрд╛ рд╡рд┐рд╡рд░рдг" рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
  5. рдкреИрдХреЗрдЯ рдХрдиреЗрдХреНрд╢рди рд╕рд░реНрдЬрдХ рдХреЛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЕрдкрдиреА рд╕рд╛рдордЧреНрд░реА рдХреЛ "рдХрдиреЗрдХреНрд╢рди рдХреЗ рджреВрд╕рд░реЗ рдкрдХреНрд╖ рдХрд╛ рд╡рд┐рд╡рд░рдг" рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред

рдФрд░ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмрд╛рдж, рджреЛрдиреЛрдВ рдХрдиреЗрдХреНрдЯрд┐рдВрдЧ рдкрд╛рд░реНрдЯрд┐рдпрд╛рдВ рдПрдХ рджреВрд╕рд░реЗ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рдЖрд╡рд╛рдЬ / рд╡реАрдбрд┐рдпреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдирддреА рд╣реИрдВред

рдЖрдИрд╕реАрдИ рдЙрдореНрдореАрджрд╡рд╛рд░реЛрдВ


рд▓реЗрдХрд┐рди рдореАрдбрд┐рдпрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИред рдЖрдЦрд┐рд░рдХрд╛рд░, рдЕрдиреБрдмрдВрдз рджрд▓реЛрдВ рдиреЗ рдЕрднреА рддрдХ рдиреЗрдЯрд╡рд░реНрдХ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд╣рд╛ рд╣реИред

рдЖрдк рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд┐рд╕ рд╡реАрдбрд┐рдпреЛ рдХреЛрдбреЗрдХреНрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреНрдпрд╛ рд▓реИрдкрдЯреЙрдк рдкрд░ рдХреИрдорд░рд╛ рд▓рдЧрднрдЧ рддреБрд░рдВрдд рд╣реИред рдЖрдкрдХреЗ рдмрд╛рд╣рд░реА рдЖрдИрдкреА рдкрддреЗ рдФрд░ NAT рдСрдкрд░реЗрд╢рди рдХреЗ рддрд░реНрдХ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ, рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рд╣реЛрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреА рд╣реИред

рдЯреНрд░рд┐рдХ ICE рддрдХрдиреАрдХ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж (рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ - рдЕрдиреБрд╡рд╛рджрдХ рдХрд╛ рдиреЛрдЯ), рджреЛ WebRTC рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз рдХрд┐рд╕реА рднреА рд╕рдордп рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдЬреИрд╕реЗ рд╣реА рдПрдХ рдЙрдкрдпреБрдХреНрдд "рдЙрдореНрдореАрджрд╡рд╛рд░" рдорд┐рд▓ рдЬрд╛рддрд╛ рд╣реИред

рдбреЗрд╡рд▓рдкрд░ рдХреЛ onicecandidate рдЗрд╡реЗрдВрдЯ (рд╕рднреА рд▓реЛрдЕрд░рдХреЗрд╕!) рдХреЛ рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдм рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдкреНрд░рд╛рдкреНрдд рдПрд╕рдбреАрдкреА рдкреИрдХреЗрдЯ рдХреЛ рджреВрд╕рд░реА рддрд░рдл рдкрд╛рд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬрд╣рд╛рдБ рдЙрдиреНрд╣реЗрдВ AddIceCandidate рдореЗрдердб (рдФрд░ рдпрд╣рд╛рдБ, рд╕рд░рдкреНрд░рд╛рдЗрдЬрд╝, рдХреИрдкрд┐рдЯрд▓ рд▓реЗрдЯрд░) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ WebRTC рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рджреЛрдиреЛрдВ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рд╕рдВрдмрдВрдз


WebRTC рдПрдХ рд╕рдВрдмрдВрдз рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП STUN (рд╕реЗрд╢рди рдЯреНрд░рд╛рд╡рд░реНрд╕рд▓ рдпреВрдЯрд┐рд▓рд┐рдЯреАрдЬрд╝ рдлреЙрд░ NAT) рдФрд░ TURN (рдиреЗрдЯ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЯреНрд░рд╛рд╡рд▓ рдпреВрдЬрд╝ рд░рд┐рд▓реЗ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдбрд░рд╛рд╡рдирд╛ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЗрд╡рд▓ рджреЛ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реИрдВред

STUN рд╕рд░реНрд╡рд░


рджреЛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдореЗрдВ рд╕реЗ рдкрд╣рд▓рд╛ рдЗрдХреЛ рд╕рд░реНрд╡рд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИред рдЬрдм рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рддрд┐рднрд╛рдЧреА рд╡рд░реНрдгрди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдП, рддреЛ рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрдИрдкреА рдкрддреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдФрд░ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрдВрдкреНрдпреВрдЯрд░ рдХрд╛ рдЖрдИрдкреА рдкрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рд╢рд╛рдпрдж рд╣реА рдХрднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреВрд░реЗ NAT рддрдХрдиреАрдХ рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рддрд╛рдХрд┐ рдЕрд▓рдЧ рди рд╣реЛред рдЕрднреА рднреА рдЕрдкрдиреЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдкрддреЗ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдмреНрд░рд╛рдЙрдЬрд╝рд░ STUN рд╕рд░реНрд╡рд░ рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИред рдиреЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЧреБрдЬрд░рддреЗ рд╣реБрдП, рдиреЗрдЯрд╡рд░реНрдХ рдкреИрдХреЗрдЯ рдЕрдкрдиреЗ рд░рд┐рдЯрд░реНрди рдПрдбреНрд░реЗрд╕ рдХреЛ рдЬрдирддрд╛ рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде рдкреИрдХреЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, STUN рд╕рд░реНрд╡рд░ рдкреИрдХреЗрдЯ рдХреЗ рд░рд┐рдЯрд░реНрди рдкрддреЗ рдХреЛ рдЕрдкрдиреЗ рдкреЗрд▓реЛрдб рдореЗрдВ рдХреЙрдкреА рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреИрдХреЗрдЯ рдХреЛ рд╡рд╛рдкрд╕ рднреЗрдЬрддрд╛ рд╣реИред рд╡рд┐рдкрд░реАрдд рджрд┐рд╢рд╛ рдореЗрдВ NAT рд╕реЗ рдЧреБрдЬрд░рддреЗ рд╣реБрдП, рдкреИрдХреЗрдЯ рдЕрдкрдирд╛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ IP рдкрддрд╛ рдЦреЛ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдкрддреЗ рдХреА рдПрдХ рдкреНрд░рддрд┐ рдкреЗрд▓реЛрдб рдореЗрдВ рд░рд╣рддреА рд╣реИ, рдЬрд╣рд╛рдБ WebRTC рдЗрд╕реЗ рдкрдврд╝ рд╕рдХрддрд╛ рд╣реИред


TURN рд╕рд░реНрд╡рд░


TURN рд╕рд░реНрд╡рд░ STUN рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдПрдХ рд╣реА рдкреИрдХреЗрдЬ, рд╣реЗрдбрд░, рдПрдХ рдирдИ рдЪреАрдЬрд╝: рдХрдорд╛рдВрдб ред рд╕рд░реНрд╡рд░ рдПрдХ рдкреНрд░реЙрдХреНрд╕реА рд╣реИ: рджреЛрдиреЛрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рдпреВрдбреАрдкреА рдЖрд╡рдВрдЯрди рдкреЛрд░реНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕рд░реНрд╡рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред

TURN рд╕рд░реНрд╡рд░ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП рд╣реИрдВ рдХрд┐ рдХрдиреЗрдХреНрд╢рди рдХреЗ рдЖрд░рдВрднрдХрд░реНрддрд╛ рдореЗрдВ рджреВрд╕рд░реА рддрд░рдл рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВред рдпрд╣ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдкреНрд░рднрд╛рд╡ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм TURN рд╕рд░реНрд╡рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдХреЙрд▓ рд╕рдлрд▓ рдпрд╛ рдЕрд╕рдлрд▓ рд╣реЛрддреА рд╣реИ, рдпрд╣ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреМрди рдХрд┐рд╕реЗ рдХреЙрд▓ рдХрд░ рд░рд╣рд╛ рд╣реИ (рд╕рднреА рд╕реНрдХрд╛рдЗрдк - рдиреЛрдЯ рдЕрдиреБрд╡рд╛рджрдХ рдХреЛ рдпрд╛рдж рд░рдЦреЗрдВ)ред


рдбрд┐рдмрдЧрд┐рдВрдЧ


рддреЛ, рдЖрдк рдЗрд╕ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдХреЛ рдкрдврд╝реЗрдВред рд╣рдо рдЕрдиреБрд╡рд╛рджрдХ рд╕реЗ рдЦреБрд╢ рд╣реИрдВ рдФрд░ рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рд▓реЗрдЦ WebRTC рдХреЛ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рд▓реЗрдХрд┐рди рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдПрдХ рдЖрд╡рд╢реНрдпрдХ рдиреНрдпреВрдирддрдо рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд┐рдирд╛ рдЖрдк рд╢реБрд░реВ рднреА рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдорд╛рдирд╡реАрдп рднрд╛рдЧреНрдп рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ рдЯреВрдЯ рдЬрд╛рдПрдЧрд╛ред

рдпрд╣ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рд╕реЗ рдЯреВрдЯ рдЬрд╛рдПрдЧрд╛ред рдкрд╣рд▓реЗ рдПрдХ рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА рдХреА рдХрдореА рд╣реИред рдЖрдкрдиреЗ рджреЛрдиреЛрдВ WebRTCs рдХреЗ рд▓рд┐рдП STUN рдФрд░ TURN рд╕рд░реНрд╡рд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛, рдЙрдиреНрд╣реЗрдВ рдПрдХреНрд╕рдЪреЗрдВрдЬ рдСрдлрд░, рдЙрддреНрддрд░ рдФрд░ ICE рдЙрдореНрдореАрджрд╡рд╛рд░реЛрдВ рдХреА рдорджрдж рдХреА, рд▓реЗрдХрд┐рди рдХреЛрдИ рд╡реАрдбрд┐рдпреЛ рдпрд╛ рдЖрд╡рд╛рдЬ рдирд╣реАрдВ рд╣реИред рдХрд╣рд╛рдБ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ? рд╕реНрдерд╛рдиреАрдп рдкреНрд▓реЗрдмреИрдХ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд╕рд╛рдеред

WebRTC рд╕реНрдерд╛рдиреАрдп рдбрд┐рдмрдЧрд┐рдВрдЧ


рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдКрдкрд░ рд▓рд┐рдЦрд╛ рдерд╛, WebRTC рдХрд╛ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреА рддрд░рдл рд╣реЛрддрд╛ рд╣реИред STUN рдФрд░ TURN рд╕рд░реНрд╡рд░ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рд╕рд░рд▓ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдорд╕реНрдпрд╛рдПрдВ рдЖрдкрдХреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдореЗрдВ рд╣реЛрддреА рд╣реИрдВ, рдЬреЛ рджреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдЪрд▓рддреА рд╣реИрдВред рджреБрдЦ рдХреА рдмрд╛рдд рд╣реИ рд▓реЗрдХрд┐рди рд╕рдЪ рд╣реИред рджреВрд╕рд░реА рдУрд░, рдпрджрд┐ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рд╣реЛрддреА рд╣реИ, рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЕрд╡рд╕рд░ рд╣реИ!

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

  • рдХрдиреЗрдХреНрд╢рди рдХреЗ рджреВрд╕рд░реЗ рдкрдХреНрд╖ рдХреЛ рдПрдХ рдкреНрд░рд╕реНрддрд╛рд╡ рдорд┐рд▓рд╛? рдХреНрдпрд╛ рдХрдиреЗрдХреНрд╢рди рд╕рд░реНрдЬрдХ рдХреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдорд┐рд▓реА рд╣реИ? рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдЗрд╕ рдиреНрдпреВрдирддрдо рд╡рд┐рдирд┐рдордп рдХреЗ рдмрд┐рдирд╛ рдПрдХ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛;
  • рдХреНрдпрд╛ рдХрдиреЗрдХреНрд╢рди рдХреЗ рджреЛрдиреЛрдВ рд╕рд┐рд░реЛрдВ рдкрд░ WebRTC рдЖрдкрдХреЛ ICE рдЙрдореНрдореАрджрд╡рд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИ? рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЗрди рдкреИрдХреЗрдЯреЛрдВ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ AddIceCandidate рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рдкрд░реАрдд рджрд┐рд╢рд╛ рдореЗрдВ рд╡рд╛рдкрд╕ рднреЗрдЬ рджрд┐рдпрд╛ ?
  • рдпрджрд┐ рдкреИрдХреЗрдЯ рдПрдХреНрд╕рдЪреЗрдВрдЬ рдХреЗ рд╕рд╛рде рд╕рдмрдХреБрдЫ рдареАрдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХреНрдпрд╛ рдСрдирдбрд╕реНрдЯреНрд░реАрдо рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рдерд╛ рдФрд░ рдХреНрдпрд╛ рдЖрдкрдиреЗ рд╡реАрдбрд┐рдпреЛ (рдпрд╛ рдСрдбрд┐рдпреЛ) рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдЪрдЯреАрдПрдордПрд▓ рддрддреНрд╡ рдореЗрдВ рдкрд░рд┐рдгрд╛рдореА рд╡рд╕реНрддреБ рд╕реНрдерд╛рдкрд┐рдд рдХреА рдереА?

рдпрджрд┐ рдкреИрдХреЗрдЯ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рд╕рдВрджрд┐рдЧреНрдз рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рд╕рддреНрд░ рдХреА рд╣рд┐рдореНрдордд рдореЗрдВ рджреЗрд░реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╕рддреНрд░ рд╡рд┐рд╡рд░рдг рдкреНрд░реЛрдЯреЛрдХреЙрд▓


рдПрд╕рдбреАрдЖрд░ рдкрд╛рда рдкреНрд░рд╛рд░реВрдк рдореЗрдВ WebRTC рджреНрд╡рд╛рд░рд╛ рдСрдлрд╝рд░, рдЙрддреНрддрд░ рдФрд░ ICE рдЙрдореНрдореАрджрд╡рд╛рд░ рдкреИрдХреЗрдЬ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рдкреИрдХреЗрдЬ рдХреА рд╕рд╛рдордЧреНрд░реА рдбрд░рд╛рд╡рдиреА рджрд┐рдЦрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдереЛрдбрд╝реА рддреИрдпрд╛рд░реА рдХреЗ рд╕рд╛рде рдЖрдкрдХреЛ рдбреАрдмрдЧрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рдЙрдирд╕реЗ рдмрд╣реБрдд рд▓рд╛рдн рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИред рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдПрд╕рдбреАрдкреА рдХреЛ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЖрдкрдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╡рд┐рд╡рд░рдг рдорд┐рд▓рд╛ред

рдЙрдореНрдореАрджрд╡рд╛рд░ рдЖрдИрд╕реАрдИ рдПрд╕рдбреАрдкреА рдкреИрдХреЗрдЯ рдореЗрдВ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХреНрд╖реЗрддреНрд░ рдЯрд╛рдЗрдк рд╣реИ ред WebRTC рдХреЗ рд▓рд┐рдП, рдПрдХ рдлрд╝реАрд▓реНрдб рдореЗрдВ рддреАрди рдорд╛рди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ:

  • рдЯрд╛рдЗрдк рд╣реЛрд╕реНрдЯ;
  • рдЯрд╛рдЗрдк srflx;
  • рдЯрд╛рдЗрдк рд░рд┐рд▓реЗред

рдкреНрд░рдХрд╛рд░ рд╣реЛрд╕реНрдЯ


рд╣реЛрд╕реНрдЯ рдкреНрд░рдХрд╛рд░ рдПрдХ рд╕реНрдерд╛рдиреАрдп рдХреНрд╖реЗрддреНрд░ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдЖрдИрд╕реАрдИ рдЙрдореНрдореАрджрд╡рд╛рд░ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ (рд╡реЗрдмрдЖрд░рдЯреАрд╕реА рдПрдХ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдореЗрдВ рдХрдИ рдЙрдореНрдореАрджрд╡рд╛рд░реЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдЬреНрдЮрд╛рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреМрди рдЕрдиреБрд╡рд╛рджрдХ рджреНрд╡рд╛рд░рд╛ рдиреЛрдЯ рдХрд░реЗрдЧрд╛)ред рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА STUN рдпрд╛ TURN рд╕рд░реНрд╡рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдерд╛рдиреАрдп рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдбрд┐рд╡рд╛рдЗрд╕ рдЕрдХреНрд╕рд░ рд╕реАрдзреЗ рдиреЗрдЯрд╡рд░реНрдХ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕реНрдерд╛рдиреАрдп рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдбреАрдмрдЧрд┐рдВрдЧ рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдмрд╕ рд╣реЛрд╕реНрдЯ рдкреИрдХреЗрдЯ рдХреЗ рдкреНрд░рд╕рд╛рд░рдг рдХреА рдЬрд╛рдВрдЪ рдФрд░ рдбрд┐рдмрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдбрд┐рд╡рд╛рдЗрд╕ рдПрдХ рджреВрд╕рд░реЗ рдХреЛ рдпреВрдбреАрдкреА рдкреИрдХреЗрдЯ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЕрдкрд╡рд╛рдж рд╣реИрдВ, рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдореИрдВрдиреЗ рдиреЗрдЯрд╡рд░реНрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рджреЗрдЦрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ ... рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ TURN рд╕рд░реНрд╡рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред

рдЯрд╛рдЗрдк srflx


рдкрддреНрд░ "srflx" рдХрд╛ рд╕рдВрдпреЛрдЬрди "рд╕рд░реНрд╡рд░ рд░рд┐рдлреНрд▓реЗрдХреНрдЯрд┐рд╡" рдХреЗ рд▓рд┐рдП рдЦрдбрд╝рд╛ рд╣реИ рдФрд░ рдмрд╛рд╣рд░реА рдЖрдИрдкреА рдкрддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдиреЗрдХреНрд╢рди рдЙрдореНрдореАрджрд╡рд╛рд░реЛрдВ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ STUN рд╕рд░реНрд╡рд░ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ (NAT рдкреИрда рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдЬреЛ рд▓рдЧрднрдЧ 80% рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕рдлрд▓ рд╣реИ, рдЕрдиреБрд╡рд╛рджрдХ рдзреНрдпрд╛рди рджреЗрдВ)ред

рдЯрд╛рдЗрдк рд░рд┐рд▓реЗ


"рд░рд┐рд▓реЗ" рдПрдХ TURN рд╕рд░реНрд╡рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛ рд╕рдлрд▓ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдпрд╛рдж рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ WebRTC рдХреЛ "рдЯрд╛рдЗрдк" рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рд╛рде рддреАрди рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреИрдХреЗрдЬ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ; рдЙрдореНрдореАрджрд╡рд╛рд░реЛрдВ рдХрд╛ рдЪрдпрди рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╣ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╡реЗрдмрдЖрд░рдЯреАрд╕реА рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред

рдбрд┐рд╡рд╛рдЗрд╕ рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА рдХрд╛ рдкрд░реАрдХреНрд╖рдг


Google рдЖрдкрдХреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ WebRTC рдХрдиреЗрдХреНрд╢рди рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд░реНрдкрд┐рдд рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдкреГрд╖реНрда рдЦреЛрд▓реЗрдВ, "рдкреНрд░рд╛рд░рдВрдн" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рд╕рд┐рдЧреНрдирд▓рд┐рдВрдЧ, Google рдХреЗ STUN рдФрд░ TURN рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Google рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдЧрд╛ред

WebRTC рдЖрдВрддрд░рд┐рдХ


рдЖрдкрдиреЗ рд╕рднреА рдкреИрдХреЗрдЬреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХреА, рдХреЛрдб рдХреА рдЬрд╛рдВрдЪ рдХреА, рд╕рдм рдХреБрдЫ рд╕рд╣реА рд▓рдЧ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ? рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП, Google рдиреЗ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЕрдиреБрднрд╛рдЧ рдХреЗ рд╕рд╛рде рдЕрдкрдирд╛ рдХреНрд░реЛрдо рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдХрдиреЗрдХреНрд╢рди рд╕реЗрдЯрдЕрдк рдХреЗ рджреМрд░рд╛рди WebRTC рдХреЗ рдЖрдВрддрд░рд┐рдХ рдФрд░ рд╕рдлрд▓ рдХрдиреЗрдХреНрд╢рди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреБрдЫ рд╕реБрдВрджрд░ рд░реЗрдЦрд╛рдВрдХрди рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рддрдХрдиреАрдХреА рд▓рд┐рдВрдХ рдЦреЛрд▓реЗрдВ:

chrome://webrtc-internals

рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА WebRTC рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЦреБрд▓рд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рддреБрд░рдВрдд рддрдХрдиреАрдХреА рдбреЗрдЯрд╛ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред рдЕрдиреНрдпрдерд╛, рдмрд╕ рдПрдХ рдФрд░ рдЯреИрдм рдЦреЛрд▓реЗрдВ рдФрд░ рдЗрд╕рдореЗрдВ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬреЛ WebRTC рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЯреИрдм RTCPeerConnection рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рд╕рднреА рдХреЙрд▓ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдХрдиреЗрдХреНрд╢рди рдХреИрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

ICE рд╕реЗрдЯрдЕрдк


рдкреГрд╖реНрда рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ ICE рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдиреЗрдХреНрд╢рди рдХреЛ рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрджрд┐ рдЗрд╕рдХреЗ рдЧрдарди рдХреЗ рджреМрд░рд╛рди рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реБрдИ рдереА, рддреЛ рдпрд╣ рддреБрд░рдВрдд рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ ("ICE рд▓рд╛рдЗрди" рджреНрд╡рд╛рд░рд╛ рд▓реЗрдЦрдХ STCP рдФрд░ TURN рд╕рд░реНрд╡рд░ рдХреА рд╕реВрдЪреА рдХреЗ рд╕рд╛рде RTCPeerConnection рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ ('рдЖрдЗрд╕рд╡рд░реНрдХрд░реНрд╕' рдСрдмреНрдЬреЗрдХреНрдЯ) - рдЕрдиреБрд╡рд╛рджрдХ рджреНрд╡рд╛рд░рд╛ рдиреЛрдЯ)ред рд╢рд╛рдпрдж рд╕рд░реНрд╡рд░ рдХреА рдХреЛрдИ рд╕реВрдЪреА рдирд╣реАрдВ рд╣реИ? CreateOffer рдпрд╛ createAnswer рдХреЛ рдкрд╣рд▓рд╛ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ RTCPeerConnection рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред


RTCPeerConnection рдЗрд╡реЗрдВрдЯ


рдЕрдЧрд▓рд╛ рдЗрдВрдЯрд░реНрдирд▓ рд╕реЗрдХреНрд╢рди RTCPeerConnection рдХреЗ рддрд░реАрдХреЛрдВ рдФрд░ рдХрд╛рд▓рд╛рдиреБрдХреНрд░рдорд┐рдХ рдХреНрд░рдо рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдШрдЯрдирд╛рдУрдВ рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ ред рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдзреНрдпрд╛рди рд╕реЗ рд▓рд╛рд▓ рд░рдВрдЧ рдореЗрдВ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд▓рд╛рд▓ addIceCandidateFailed рдЕрдХреНрд╕рд░ рдПрдХ рддреНрд░реБрдЯрд┐ рдХрд╛ рд╕рдВрдХреЗрдд рдирд╣реАрдВ рд╣реИ рдФрд░ рдХрдиреЗрдХреНрд╢рди рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдХрдиреЗрдХреНрд╢рди рд╕рдлрд▓ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╕реВрдЪреА рдореЗрдВ рдЕрдВрддрд┐рдо рдШрдЯрдирд╛ рдкреВрд░реНрдг рдХреЗ рдорд╛рди рдХреЗ рд╕рд╛рде рдПрдХ iceconnectionstatechange рдШрдЯрдирд╛ рд╣реЛрдЧреАред

рдЕрдиреБрднрд╛рдЧ 'рдЖрдБрдХрдбрд╝реЗ'


рдХрдиреЗрдХреНрд╢рди рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдиреЗ рдкрд░ рдЕрдЧрд▓рд╛ рдЕрдиреБрднрд╛рдЧ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИред рдЗрд╕рдореЗрдВ рд╕рдВрдЪрд░рд┐рдд рдбреЗрдЯрд╛ рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рджреЗрд░реА рдХреЗ рдЖрдВрдХрдбрд╝реЗ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рджреЛ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ: ssrc рдФрд░ bweforvideo ред

  • ssrc , "Stream Source", рдЖрдкрдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдСрдбрд┐рдпреЛ рдФрд░ рд╡реАрдбрд┐рдпреЛ рдЯреНрд░реИрдХ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддрд╛ рд╣реИред рд░рд╛рдЙрдВрдб рдЯреНрд░рд┐рдк рдХреЗ рд╕рдордп рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░реЗрд╖рд┐рдд рдбреЗрдЯрд╛ рдФрд░ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдЖрдВрдХрдбрд╝реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ ;
  • bweforvideo , BandWidth Estimate, рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдиреЗрдЯрд╡рд░реНрдХ рдЪреИрдирд▓ рдХреА рдЪреМрдбрд╝рд╛рдИ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред


рдЧреЗрдЯрд╕реНрдЯреИрдЯреНрд╕ рдлрд╝рдВрдХреНрд╢рди


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

 rtcPeerConnection.getStats(function(stats) { document.getElementById("lostpackets").innerText = stats.packetsLost; }); 

рдПрдХ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧреА рдЙрдкрдХрд░рдг рдПрдХ RTCPeerConnection рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ oniceconnectionstatechange рдШрдЯрдирд╛ рд╣реИред рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХрдиреЗрдХреНрд╢рди рдХрдиреЗрдХреНрд╢рди рдХреА рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ред рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд┐рдХрд▓реНрдк:

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

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

рд╡реАрдбрд┐рдпреЛ рдХреЗ рдмрдЬрд╛рдп рдмреНрд▓реИрдХ рдЖрдпрдд


рдЕрдХреНрд╕рд░ рдПрдХ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рд╣реЛрддреА рд╣реИ рдЬрдм рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдзреНрд╡рдирд┐ рд╕рдВрдЪрд╛рд░рд┐рдд рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╡реАрдбрд┐рдпреЛ рдХреЗ рдмрдЬрд╛рдп, рдПрдХ рдпрд╛ рджреЛрдиреЛрдВ рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдореЗрдВ рдПрдХ рдХрд╛рд▓реЗ рд░рдВрдЧ рдХреА рдЖрдпрдд рд╣реЛрддреА рд╣реИред рдЕрдзрд┐рдХрд╛рдВрд╢ рдмрд╛рд░ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдпрджрд┐ рдЖрдк рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЧрдП рд╡реАрдбрд┐рдпреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдкреВрд░реНрдг рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдХрдиреЗрдХреНрд╢рди рд╕рдВрдХреНрд░рдордг рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ HTML рддрддреНрд╡ рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд░рддреЗ рд╣реИрдВред

рдХреИрд╕реЗ рдмрд╛рд╣рд░ рдПрдХ рдЫрдбрд╝реА рдкреНрд░рд╣рд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП


RTCPeerConnection рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдП рдЧрдП рдЗрдВрдЯрд░реНрдирд▓ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдиреЗрдЯрд╡рд░реНрдХ рдкреИрдХреЗрдЯ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЙрдкрдХрд░рдг рдЬреИрд╕реЗ Wireshark рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпреЗ рдЙрдкрдХрд░рдг рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП WebRTC рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдкреИрдХреЗрдЯ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Wireshark рдЖрдкрдХреЛ рдореБрдЦреНрдп рд╡рд┐рдВрдбреЛ рдореЗрдВ STUN рдкреИрдХреЗрдЯ рдХреА рд╕рд╛рдордЧреНрд░реА рджрд┐рдЦрд╛рдПрдЧреА, рдФрд░ рдЖрдк рдлрд╝рд┐рд▓реНрдЯрд░ рдлрд╝реАрд▓реНрдб рдореЗрдВ рдХреАрд╡рд░реНрдб "stun" рд▓рд┐рдЦрдХрд░ рдЙрдиреНрд╣реЗрдВ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:


рд╕рд░реНрд╡рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рдХреНрдпрд╛ рджреЗрдЦрдирд╛ рд╣реИ? рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдЙрддреНрддрд░ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ STUN (рдмрд╛рд╣рд░реА IP рдЯреЙрдХ) рд╕рдорд░реНрдерд┐рдд рд╣реИ, рдФрд░ WebRTC рдХреЗрд╡рд▓ srflx рдЙрдореНрдореАрджрд╡рд╛рд░реЛрдВ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЙрддреНрддрд░реЛрдВ рдореЗрдВ TURN- рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреИрдХреЗрдЬ рдЖрд╡рдВрдЯрди рдФрд░ CreatePermission рд╢рд╛рдорд┐рд▓ рд╣реИрдВ , рддреЛ WebRTC рдХреЗ рдкрд╛рд╕ рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реЛрдЧрд╛ред рдкреИрдХреЗрдЯ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд╕рдлрд▓ рдФрд░ рдЕрд╕рдлрд▓ рдЖрд╡рдВрдЯрди рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдХреЛрдИ рд╕рдлрд▓ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ TURN рд╕рд░реНрд╡рд░ рддрдХ рдЧрд▓рдд рдкрд╣реБрдВрдЪ рдкреИрд░рд╛рдореАрдЯрд░ (рдЬреЛ рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд╕рд╛рде рд░рдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВ - рдЕрдиреБрд╡рд╛рджрдХ рдХрд╛ рдиреЛрдЯ) рдкрд╛рд░рд┐рдд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред

рдпрджрд┐ рд▓реЙрдЧ рдореЗрдВ CreatePermission Success Response рдкреИрдХреЗрдЬ рд╣реИ, рддреЛ рд╣рдо рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ STUN рдФрд░ TURN рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИред рдФрд░ рдЕрдЧрд░ рдХреЛрдИ ChannelBind рдкреИрдХреЗрдЬ рд╣реИ, рддреЛ рдЙрдЪреНрдЪ рдЧрддрд┐ рдкрд░ TURN рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдерд╛ред

рд╕реЗрд▓реБрд▓рд░ рдореБрджреНрджреЛрдВ


рдореЗрд░реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, WiFi рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрдИ WebRTC рд╕рдорд╛рдзрд╛рди 3G / 4G рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдиреЗрдХреНрдЯ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдореЛрдмрд╛рдЗрд▓ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреАрдмрдЧ рдХрд░рдирд╛ рдХрдард┐рди рд╣реИ: рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдРрд╕рд╛ рдХреЛрдИ рд╕рд╛рдзрд╛рд░рдг рдкреИрдХреЗрдЯ рдПрдирд╛рд▓рд╛рдЗрдЬрд░ рдирд╣реАрдВ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рд╡рд┐рдпрд░рд╢рд░реНрдХ, рдФрд░ рд╕рдлрд╛рд░реА рд╡реЗрдмрдЖрд░рдЯреАрд╕реА рдЗрдВрдЯрд░реНрдирд▓реНрд╕ рдХреЛ рдирд╣реАрдВ рджрд┐рдЦрд╛ рд╕рдХрддреЗред рд▓реЙрдЬрд┐рдХ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд╛рдИрдлрд╛рдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╕рдорд╕реНрдпрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд╣реА рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рд╕реЗрд▓реБрд▓рд░ рд╕рдВрдЪрд╛рд░ рдореЗрдВ рд╣реИред рдбрд┐рдмрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ? рдПрдХ рд▓реИрдкрдЯреЙрдк рд▓реЗрдВ рдФрд░ рдЙрд╕рдореЗрдВ 3 рдЬреА рдбреЛрдВрдЧрд▓ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВред рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдкреИрдХреЗрдЯ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд▓реЙрдЧ рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЖрдк рдЙрдЪрд┐рдд рд╕рдордп рдореЗрдВ рд╕рднреА рдкрд░реЗрд╢рд╛рдирд┐рдпреЛрдВ рдХреА рдЬрдбрд╝ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдирд┐рд╖реНрдХрд░реНрд╖


WebRTC рдХреЛ рдбреАрдмрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЦреЛрдЬ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдХрдИ рд▓реЗрдЦ рдФрд░ рдЙрджрд╛рд╣рд░рдг рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рд░реАрдпрд▓рдЯрд╛рдЗрдо рд╕рдВрдЪрд╛рд░ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк STUN , TURN рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдФрд░ WebRTC рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдХреЗ рд▓рд┐рдП RFC рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдкрдврд╝реЗрдВред рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдмрдбрд╝реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдирдореЗрдВ рдирд┐рд╣рд┐рдд рдЬрд╛рдирдХрд╛рд░реА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдФрд░ "рдХреНрдпреЛрдВ рдирд╣реАрдВ рдмрдЬрддреА рд╣реИ" рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреА рд╣реИред

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


All Articles