рдореИрдВ рдорд▓реНрдЯреАрдХрд╛рд╕реНрдЯ рддрдХрдиреАрдХ, рдпрд╛ рдЕрдиреНрдпрдерд╛ рдпреВрдбреАрдкреА рдорд▓реНрдЯреАрдХрд╛рд╕реНрдЯ рдХреЗ рд╕рд╛рде рдереЛрдбрд╝рд╛ рдЕрдиреБрднрд╡ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдФрд░
рд╕рдорд╕реНрдпрд╛ рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ рдЬреЛ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╕рдордп рд╣реЛрддреА рд╣реИред
рддреБрд░рдВрдд рдПрдХ рдЖрд░рдХреНрд╖рдг рдХрд░реЗрдВ рдХрд┐ рдпрд╣ рд▓реЗрдЦ рд╕реНрд╡рдпрдВ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдФрд░ рдпреВрдбреАрдкреА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдЗрд╕рдХреЗ рд▓рд┐рдП
рдпреВрдбреАрдкреА рдХреА рдУрд░ рдореБрдбрд╝рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, рдФрд░ рдлрд┐рд░
рдорд▓реНрдЯреАрдХрд╛рд╕реНрдЯ рдХреЗ рд▓рд┐рдП ред
рддреЛ, рд╕рднреА рдХрд╛рдо рд╕реЙрдХреЗрдЯ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдЙрд╕рдХреЗ "рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди" рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВред рд╕рд╛рдорд╛рдиреНрдп рд╢рдмреНрджреЛрдВ рдореЗрдВ рдпрд╣ рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ
1. рдПрдХ рд╕реЙрдХреЗрдЯ рдмрдирд╛рдПрдВ
2. рдмрд╛рдВрдзрдирд╛
3. рдорд▓реНрдЯреАрдХрд╛рд╕реНрдЯ рд╕рдореВрд╣ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реЗрдВред
рдЕрдм рдХреНрд░рдо рдореЗрдВ
рд╕реЙрдХреЗрдЯ рдирд┐рд░реНрдорд╛рдг
рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рдФрд░ рдмрд┐рдирд╛ рдЪрд╛рд▓ рдХреЗ рд╣реИред
sockfd = socket(AF_INET, SOCK_DGRAM, 0);
рд╕реЙрдХреЗрдЯ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ
рдкрд╣рд▓реА рдЪреАрдЬ рдЬреЛ рд╣рдореЗрдВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рд╡рд╣ рд╣реИ PORT рдХреЛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдирд╛, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдорд╛рд░реЗ рдЕрд▓рд╛рд╡рд╛, рдХреЛрдИ рдФрд░ рдЗрд╕ рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред
const int optval = 1; setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof(optval));
рд╕реЗрдЯрд╕реНрдХреЙрдХрдЯреЙрдк рдлрд╝рдВрдХреНрд╢рди рдЖрдкрдХреЛ рд╕реЙрдХреЗрдЯ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд▓реНрдк рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдмрд┐рдВрджреБ рдпрд╣ рд╣реИ рдХрд┐ рд╡рд┐рдХрд▓реНрдк рдорд╛рди рдХреЛ рдкреЙрдЗрдВрдЯрд░ рд╕реЗ рд╢реВрдиреНрдп рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХреБрдЫ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд▓рд┐рдП рди рдХреЗрд╡рд▓ рдСрди / рдСрдл рдлреНрд▓реИрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдмрд▓реНрдХрд┐ рдЕрддрд┐рд░рд┐рдХреНрдд рдбреЗрдЯрд╛ рд╡рд╛рд▓реА рд╕рдВрд░рдЪрдирд╛рдПрдВ рднреА рд╣реЛрддреА рд╣реИрдВред
рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рд╕реЙрдХреЗрдЯ рдХреЛ рдкреЛрд░реНрдЯ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╛ рд╢рд╛рдпрдж рдПрдХ рдкрддрд╛? рдпрд╣рд╛рдВ рдкрд╣рд▓рд╛ рдлреАрдЪрд░ рдлреАрдЪрд░ рдЖрддрд╛ рд╣реИ -
рд╡рд┐рдВрдбреЛрдЬ рдФрд░
рд▓рд┐рдирдХреНрд╕ рдЧреБрдард▓реА рдХреА рдЕрд▓рдЧ рд╡рд┐рдЪрд╛рд░рдзрд╛рд░рд╛ред рдЕрд░реНрдерд╛рддреН, рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рддрд╣рдд рд╣рдо рдорд▓реНрдЯреАрдХрд╛рд╕реНрдЯ рд╕рдореВрд╣ рдХреЗ рдкрддреЗ рдкрд░ рдирд╣реАрдВ рдмрдВрдз рд╕рдХрддреЗ (рд╣рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ) рдФрд░ INADDR_ANY рд╕реЗ рдмрдВрдзрдирд╛ рдЪрд╛рд╣рд┐рдП
struct sockaddr_in addr; bzero(&addr, sizeof(addr)); addr.sin_family = AF_INET; addr.sin_port = htons(port); addr.sin_addr.s_addr = htonl(INADDR_ANY); bind(sockfd, (sockaddr *)&addr, sizeof(addr));
рд▓рд┐рдирдХреНрд╕ рдкрд░, рд╣рдо INADDR_ANY рд╕реЗ рднреА рдмрдВрдз рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рдо рдЙрди рд╕рднреА рдбрд╛рдЯрд╛рдЧреНрд░рд╛рдо рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ рдЬреЛ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдмрд╛рдБрдзреЗ рдЧрдП рдкреЛрд░реНрдЯ рдкрд░ рдЖрдП рдереЗред рдХреЗрд╡рд▓ рд╡рд╛рдВрдЫрд┐рдд рд╕рдореВрд╣ рд╕реЗ рдбреЗрдЯрд╛рдЧреНрд░рд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рд╕рдореВрд╣ рдХреЗ рдкрддреЗ рдкрд░ (рдпрд╛, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдкреЛрд░реНрдЯ рдХреЛ рдордд рднреВрд▓рдирд╛) рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рд╕рдореВрд╣ рдХрдиреЗрдХреНрд╢рди
рдорд▓реНрдЯреАрдХрд╛рд╕реНрдЯ рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рддрдХ рд╣рдо рдорд▓реНрдЯреАрдХрд╛рд╕реНрдЯ рд╕рдореВрд╣ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рддрдм рддрдХ рд╣рдорд╛рд░реЗ рдореЗрдЬрдмрд╛рди рдХреЛ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрддрд░ рдХрдиреЗрдХреНрд╢рди рд╕реЙрдХреЗрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╕реЗрдЯ рдХрд░рдиреЗ рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред
struct ip_mreq mreq; inet_aton(ip_addr, &(mreq.imr_multiaddr)); mreq.imr_interface.s_addr = htonl(INADDR_ANY); setsockopt(sockfd, IPPROTO_IP, IP_ADD_MEMBERSHIP, &mreq, sizeof(mreq));
рдЬрд╣рд╛рдБ ip_mreq.imr_multiaddr рдорд▓реНрдЯреАрдХрд╛рд╕реНрдЯ рд╕рдореВрд╣ рдХрд╛ рдкрддрд╛ рд╣реИред рдФрд░ ip_mreq.imr_interface рдЙрд╕ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдкрддрд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ рд╣рдо рдбреЗрдЯрд╛рдЧреНрд░рд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ INADDR_ANY рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕ рдЕрдзрд┐рдХрд╛рд░ рдХреЛ рдХрд░реНрдиреЗрд▓ рдкрд░ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ, рдЬреЛ рд░реВрдЯрд┐рдВрдЧ рдЯреЗрдмрд▓ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЪрдпрди рдХрд░реЗрдЧрд╛ред рдЕрдЧрд▓рд╛, рдХрд░реНрдиреЗрд▓ рдпрд╣ рдЬрд╛рдВрдЪ рдХрд░реЗрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рд╕рдореВрд╣ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдпрд╣ рдирд┐рдХрдЯрддрдо рдорд▓реНрдЯреАрдХрд╛рд╕реНрдЯ рд╕рд░реНрд╡рд░ рдХреЛ рдПрдХ рдЕрдиреБрд░реЛрдз рднреЗрдЬреЗрдЧрд╛ред рдХрд┐ рдЖрдЧреЗ рдХреА рдУрд░, рдЖрджрд┐ред рдЙрд╕рдХреЗ рдмрд╛рдж, рдЗрд╕ рдорд▓реНрдЯреАрдХрд╛рд╕реНрдЯ рд╕рдореВрд╣ рдХреЛ рднреЗрдЬреЗ рдЧрдП рдбреЗрдЯрд╛рдЧреНрд░рд╛рдо рд╣рдорд╛рд░реЗ рдореЗрдЬрдмрд╛рди рдХреЛ рднреЗрдЬреЗ рдЬрд╛рдПрдВрдЧреЗред
рд▓реЗрдХрд┐рди рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ рдЬреЛ INADDR_ANY рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ? рд╡рд╣ рд╕рднреА рдбреЗрдЯрд╛рдЧреНрд░рд╛рдо рдХреЛ рд╕реБрдирдиреЗ рдХреЗ рдмрдВрджрд░рдЧрд╛рд╣ рдкрд░ рдХреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛? рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░, рд╡рд┐рдВрдбреЛрдЬ рдХрд░реНрдиреЗрд▓, рд╕реЙрдХреЗрдЯ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╕рдордп, рд╕реНрд╡рдпрдВ рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рддрд╛ рд╣реИред рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗрд╡рд▓ рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рд╕рдореВрд╣реЛрдВ рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рд╕реЙрдХреЗрдЯ рддрдХ рдкрд╣реБрдВрдЪрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд▓рд┐рдирдХреНрд╕ рдкрд░, рдПрдХ рдЬреБрдбрд╝реЗ рд╣реБрдП рдорд▓реНрдЯреАрдХрд╛рд╕реНрдЯ рд╕рдореВрд╣ рд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рд╕реЙрдХреЗрдЯ рдкрд░ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкрддреЗ рдкрд░ рдмрд╛рдВрдзрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИредрдпрджрд┐ рдЖрдк рдореБрдЭ рдкрд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ (рдФрд░ рдореИрдВ рдЦреБрдж рд╢реБрд░реБрдЖрдд рдореЗрдВ рдпрд╣ рдирд╣реАрдВ рдорд╛рдирддрд╛) рддреЛ рдЙрд╕ рдкрд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░реЗрдВ
рдпреВрдирд┐рдХреНрд╕ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ 3 рд╕рдВрд╕реНрдХрд░рдгред рдЕрдзреНрдпрд╛рдп 21.6 рдкреГрд╖реНрда 599
- рдорд▓реНрдЯреАрдХрд╛рд╕реНрдЯ рдбреЗрдЯрд╛рдЧреНрд░рд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рдореВрд╣ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдкреЛрд░реНрдЯ рдирдВрдмрд░ рдХреЗ рд╕рд╛рде рдпреВрдбреАрдкреА рд╕реЙрдХреЗрдЯ рдХреЛ рднреА рдмрд╛рдВрдзрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕ рд╕рдореВрд╣ рдХреЛ рднреЗрдЬреЗ рдЧрдП рдбреЗрдЯрд╛рдЧреНрд░рд╛рдо рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдХреЗ рдкреЛрд░реНрдЯ рдирдВрдмрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
...
рдкреЛрд░реНрдЯ рдХрдиреЗрдХреНрдЯ рдХрд░рдХреЗ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдпреВрдбреАрдкреА рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдкреЛрд░реНрдЯ рдкрд░ рднреЗрдЬреЗ рдЧрдП рдбреЗрдЯрд╛рдЧреНрд░рд╛рдо рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдкреЛрд░реНрдЯ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреБрдЫ рдПрдкреНрд▓рд┐рдХреЗрд╢рди, рдмрд╛рдЗрдВрдб рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╕реЙрдХреЗрдЯ рдореЗрдВ рдорд▓реНрдЯреАрдХрд╛рд╕реНрдЯ рдПрдбреНрд░реЗрд╕ рдХреЛ рднреА рдмрд╛рдВрдзрддреЗ рд╣реИрдВред рдпрд╣ рд╕реЙрдХреЗрдЯ рдХреЛ рдЗрд╕ рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдбреЗрдЯрд╛рдЧреНрд░рд╛рдо рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИред
рдмреВрд╕реНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?
рдореИрдВ рдЖрдкрдХреЛ рдирд┐рд░рд╛рд╢ рдХрд░реВрдВрдЧрд╛, рд╕рдм рдХреБрдЫ рдПрдкреАрдЖрдИ рдХреЗ рд╕рдорд╛рди рд╣реИ, рдПрдХ рднреА рддрд░реНрдХ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрдиреБрдХреВрд▓рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЖрдкрдХреЛ рдЕрднреА рднреА рдХрд░рдирд╛ рд╣реИ
#ifdef WIN32 boost::asio::ip::udp::endpoint listen_endpoint("0.0.0.0", multicast_port); #else boost::asio::ip::udp::endpoint listen_endpoint(multicast_address, multicast_port); #endif socket_.open(listen_endpoint.protocol()); socket_.set_option(boost::asio::ip::udp::socket::reuse_address(true)); socket_.bind(listen_endpoint); ocket_.set_option(boost::asio::ip::multicast::join_group(multicast_address));
рдПрдХ рд╕реЙрдХреЗрдЯ рдХреЗ рд▓рд┐рдП рдХрдИ рд╕рдореВрд╣
рдкреЛрд╕реНрдЯ рд▓рд┐рдЦрддреЗ рд╕рдордп рдореИрдВрдиреЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдкрде рдПрдХ рд╕реАрдорд╛ рдХреЛ рдЫреБрдкрд╛рддрд╛ рд╣реИред рд╣рдореЗрдВ рдПрдХ рд╕реЙрдХреЗрдЯ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП - рдПрдХ рдорд▓реНрдЯреАрдХрд╛рд╕реНрдЯ рд╕рдореВрд╣ред рдЪреВрдВрдХрд┐ рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рдХрдИ рдкрддреЛрдВ рдХреЛ рдмрд╛рдВрдзрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред
рдореИрдВ рд╕реНрдерд┐рддрд┐ рдХреЛ рд░реЗрдЦрд╛рдВрдХрд┐рдд рдХрд░реВрдВрдЧрд╛ред рдПрдХ рд╕рд░реНрд╡рд░ рд╣реИ, рдпрд╣ рдХрдИ рдорд▓реНрдЯреАрдХрд╛рд╕реНрдЯ рд╕рдореВрд╣реЛрдВ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рдПрдХ рдкреЛрд░реНрдЯ рдкрд░ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдПрдХ рдЧреНрд░рд╛рд╣рдХ рд╣реИ, рд╡рд╣ рдХреЗрд╡рд▓ рдХреБрдЫ рд╕рдореВрд╣реЛрдВ рдореЗрдВ рд╕рд░реНрд╡рд░ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред рдлрд┐рд░ рдЙрд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
1. INADDR_ANY рдкрд░ рдмрд╛рдВрдзрдиреЗ рдХреЗ рд▓рд┐рдП
2. рдЕрдЧрд▓рд╛, рдЕрдкрдиреЗ рдЧрдВрддрд╡реНрдп
1 рдкрддреЗ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдХреЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╕рднреА рдбреЗрдЯрд╛рдЧреНрд░рд╛рдо рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░реЗрдВред
рдбреЗрд╕реНрдЯрд┐рдиреЗрд╢рди рдПрдбреНрд░реЗрд╕ рджреНрд╡рд╛рд░рд╛ рд╕реЙрдХреЗрдЯ рдкрд░ рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛рдЧреНрд░рд╛рдо рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЗрд╕ рддрдереНрдп рд╕реЗ рд╣реЛрддреА рд╣реИ рдХрд┐ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреА рдорд╢реАрди рдкрд░ рдПрдХ рдФрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╣реЛ рдЬреЛ рдХреБрдЫ рдЕрдиреНрдп рд╕рдореВрд╣реЛрдВ рд╕реЗ рдЬреБрдбрд╝рддрд╛ рд╣реЛ рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рдкреЛрд░реНрдЯ рд╕реЗ рдФрд░ рдлрд┐рд░ рджреЛрдиреЛрдВ рд╕реЙрдХреЗрдЯреНрд╕ рдЗрд╕ рдкреЛрд░реНрдЯ рдкрд░ рд╕рднреА рдЬреБрдбрд╝реЗ рд╕рдореВрд╣реЛрдВ рдХреЛ рдбреЗрдЯрд╛рдЧреНрд░рд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗред ред
рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ, рдЪреЗрд╣рд░реЗ рдкрд░ рдбреЗрдЯрд╛ рдЕрддрд┐рд░реЗрдХ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИред
рдареАрдХ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд▓реНрдЯреАрдХрд╛рд╕реНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рд╢рд╛рдВрдд рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдмрд┐рдирд╛ рдпрд╣ рдЬрд╛рдиреЗ рдХрд┐ рдЖрдк рдЬреЛрдЦрд┐рдо рдХрд┐рд╕ рдХрджрдо рдкрд░ рдЙрдард╛ рд░рд╣реЗ рд╣реИрдВред
рдкреБрдирд╢реНрдЪред рдпрд╣ рд╕рдм рдорд╣рд╕реВрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд░рдгреЛрдВ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реВрдВред
1.
рд░рд┐рд╕реАрд╡рд░ рдПрдХрддреНрд░рд┐рдд рдХрд░реЗрдВ
2.
рдкреНрд░реЗрд╖рдХ рдмрдирд╛рдПрдБ
рд▓рд┐рдирдХреНрд╕ рд░рди рдкрд░ рдЕрдЧрд▓рд╛
3. рд░рди: рд░рд┐рд╕реАрд╡рд░ 0.0.0.0 239.192.100.1
4. рд░рди: рд░рд┐рд╕реАрд╡рд░ 0.0.0.0 239.192.100.2
5. рд░рди: рдкреНрд░реЗрд╖рдХ 239.192.100.1
6. рдпрд╣ рд╕рдордЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рджреЛрдиреЛрдВ рд░рд┐рд╕реАрд╡рд░ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ
рдЕрдЧрд▓рд╛, рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рднреА рдЪрд▓рддрд╛ рд╣реИ
7. рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдХреЗрд╡рд▓ рдПрдХ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рднреЗрдЬрд╛ рд╣реИ рд╡рд╣ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ред
1 рдпреВрдбреАрдкреА рдХреА рдПрдХ рдЕрдиреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░реЗрд╖рдХ рдФрд░ рд░рд┐рд╕реАрд╡рд░ рдХрд╛ рдкрддрд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдпреВрдбреАрдкреА рд╕рдВрджреЗрд╢ рдХреЗ рд╣реЗрдбрд░ рдореЗрдВ рдирд╣реАрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХреИрд▓реЗрдВрдбрд░реЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╕рдордп рдЗрд╕реЗ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдПрдХ рдпреВрдбреАрдкреА рдбреЗрдЯрд╛рдЧреНрд░рд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реБрдП, рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЕрдкрдиреЗ
рдЫрджреНрдо рд╣реЗрдбрд░ рдХреА рд░рдЪрдирд╛ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП, рд╕реЗрдХреБрдо рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ рдФрд░ рдкреНрд░рд╛рдкреНрдд рдПрдХ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд░реЗрдВ, рддрдп рдХрд░реЗрдВ рдХрд┐ рдбреЗрдЯрд╛рдЧреНрд░рд╛рдо рд╣рдореЗрдВ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рд▓рд┐рдирдХреНрд╕ рдпрд╣ рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЙрд╕ рдкрддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рд╣рдо рдЧрдВрддрд╡реНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдмрд╛рдБрдзрддреЗ рд╣реИрдВ, рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд
рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓рддреА рд╣реИред