AUTH_REJECTEDCRED = 2, /* ΠΊΠ»ΠΈΠ΅Π½Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°ΡΠ°ΡΡ ΡΠ΅Π°Π½Ρ Π·Π°Π½ΠΎΠ²ΠΎ */
AUTH_BADVERF = 3, /* ΠΎΡΠΈΠ±ΠΊΠ° Π² ΠΏΡΠΎΠ²Π΅ΡΠΎΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ (Π½Π°ΡΡΡΠ΅Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ ΡΡΠΌΠΌΠ°) */
AUTH_REJECTEDVERF = 4, /* ΠΏΡΠΎΠ²Π΅ΡΠΎΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΡΡΠ°ΡΠ΅Π»ΠΈ ΠΈΠ»ΠΈ Π±ΡΠ»ΠΈ ΠΏΠΎΠ²ΡΠΎΡΡ */
AUTH_TOOWEAK = 5, /* Π·Π°ΠΏΡΠΎΡ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ */
/* ΠΎΡΠΈΠ±ΠΊΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° */
AUTH_INVALIDRESP = 6, /* ΡΠ°Π»ΡΡΠΈΠ²ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΎΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΎΡΠ²Π΅ΡΠ΅ */
AUTH_FAILED = 7 /* ΠΏΡΠΈΡΠΈΠ½Π° Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½Π° */
};
union rejected_reply switch (reject_stat stat) {
case RPC_MISMATCH:
struct {
unsigned int low; /* Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠΈΠΉ Π½ΠΎΠΌΠ΅Ρ Π²Π΅ΡΡΠΈΠΈ RPC */
unsigned int high; /* Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠΈΠΉ Π½ΠΎΠΌΠ΅Ρ Π²Π΅ΡΡΠΈΠΈ RPC */
} mismatch_info;
case AUTH_ERROR:
auth_stat stat;
};
Π ΠΈΡ. 16.7. ΠΡΠ²Π΅Ρ Π½Π° ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΉ Π²ΡΠ·ΠΎΠ² Π² Π΄Π΅ΠΉΡΠ°Π³ΡΠ°ΠΌΠΌΠ΅ UDP
16.10. Π Π΅Π·ΡΠΌΠ΅
Π‘ΡΠ΅Π΄ΡΡΠ²Π° Sun RPC Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠ°Ρ ΡΠ°ΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡΠ·Π»Π΅, Π° ΡΠ΅ΡΠ²Π΅ΡΠ½Π°Ρ β Π½Π° Π΄ΡΡΠ³ΠΎΠΌ. Π‘Π½Π°ΡΠ°Π»Π° ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ, ΠΈ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΉΠ» ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ RPC, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠΈΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡ. ΠΠ°ΡΠ΅ΠΌ ΠΏΠΈΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ main ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, Π²ΡΠ·ΡΠ²Π°ΡΡΠ°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ°, Π° ΠΏΠΎΡΠΎΠΌ ΡΠ°ΠΌΠΈ ΡΡΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π±ΡΠ΄ΡΠΎ ΠΎΠ½Π° ΠΏΡΠΎΡΡΠΎ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ°, Π½ΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΈΡ ΡΠΊΡΡΡΠΎΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΏΠΎ ΡΠ΅ΡΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ RPC.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° rpcgen ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΡΠ°Π΅ΡΠ³ΠΎΠ»ΡΠ½ΡΠΌ ΠΊΠ°ΠΌΠ½Π΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅Π³ΠΎ RPC. ΠΠ½Π° ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ» ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ ΡΠΎΠ·Π΄Π°Π΅Ρ Π·Π°Π³Π»ΡΡΠΊΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈ Π·Π°Π³Π»ΡΡΠΊΡ ΡΠ΅ΡΠ²Π΅ΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π²ΡΠ·ΡΠ²Π°ΡΡΠΈΠ΅ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΠ΅ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ XDR, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ . ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° XDR ΡΠ°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π°ΠΆΠ½ΠΎΠΉ ΡΠ°ΡΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°. XDR ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ, Ρ ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ΅Π»ΠΎΠ³ΠΎ, ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π±Π°ΠΉΡΠΎΠ² ΠΈ Ρ. ΠΏ. ΠΠ°ΠΊ ΠΌΡ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ, XDR ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΎΡ RPC Π΄Π»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ Π² ΠΌΠ°ΡΠΈΠ½Π½ΠΎ-Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅. ΠΠ»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠ±ΠΎΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ (ΡΠΎΠΊΠ΅ΡΡ, XTI, Π΄ΠΈΡΠΊΠ΅ΡΡ, ΠΊΠΎΠΌΠΏΠ°ΠΊΡ-Π΄ΠΈΡΠΊΠΈ ΠΈΠ»ΠΈ ΡΡΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ).
Π Sun RPC ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ²ΠΎΠΉ ΡΡΠ°Π½Π΄Π°ΡΡ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. ΠΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ 32-ΡΠ°Π·ΡΡΠ΄Π½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, 32-ΡΠ°Π·ΡΡΠ΄Π½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ Π²Π΅ΡΡΠΈΠΈ ΠΈ 32-ΡΠ°Π·ΡΡΠ΄Π½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ·Π΅Π» Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ RPC Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠΎΠ² Π² ΡΠΎΠ½ΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ (RPCBIND). Π‘Π΅ΡΠ²Π΅ΡΡ RPC ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΏΠΎΡΡΡ TCP ΠΈ UDP ΠΊ ΡΠ²ΠΎΠΈΠΌ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°ΠΌ, Π° Π·Π°ΡΠ΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΡΡ ΡΡΠΈ ΠΏΠΎΡΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠΎΠ², ΡΠΊΠ°Π·ΡΠ²Π°Ρ Π½ΠΎΠΌΠ΅ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ Π²Π΅ΡΡΠΈΠΉ. ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ RPC ΡΠ²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠΎΠ² ΡΠ·Π»Π°, Π³Π΄Π΅ Π·Π°ΠΏΡΡΠ΅Π½ ΡΠ΅ΡΠ²Π΅Ρ RPC, ΠΈ Π²ΡΡΡΠ½ΡΠ΅Ρ Π½ΠΎΠΌΠ΅Ρ Π½ΡΠΆΠ½ΠΎΠ³ΠΎ Π΅ΠΌΡ ΠΏΠΎΡΡΠ°, Π° Π·Π°ΡΠ΅ΠΌ ΡΠ²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Ρ ΡΠ°ΠΌΠΈΠΌ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°ΠΌ TCP ΠΈΠ»ΠΈ UDP.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡ RPC Π½Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΡ RPC ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π²ΡΠ΅ ΠΏΡΠΈΡ ΠΎΠ΄ΡΡΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΡ. ΠΡΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΎΠΊΠ΅ΡΠΎΠ² ΠΈΠ»ΠΈ XTI. Π Sun RPC ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ ΡΡΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΎΡΠΌΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ: Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Unix (ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΈΠΌΡ ΡΠ·Π»Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ Π³ΡΡΠΏΠΏΡ), Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ DES (ΠΎΡΠ½ΠΎΠ²Π°Π½Π½Π°Ρ Π½Π° ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΠΈ Ρ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΡΠΌ ΠΈ ΠΎΡΠΊΡΡΡΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ) ΠΈ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Kerberos.
ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΡΠ°ΠΉΠΌ-Π°ΡΡΠΎΠ² ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Ρ ΠΏΠ°ΠΊΠ΅ΡΠ° RPC Π²Π°ΠΆΠ½ΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ RPC (ΠΊΠ°ΠΊ ΠΈ Π»ΡΠ±ΠΎΠΉ ΡΠΎΡΠΌΡ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ). ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ³ΠΎ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°, ΡΠ°ΠΊΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ TCP, ΠΊΠ»ΠΈΠ΅Π½ΡΡ RPC Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠΈΠΉ ΡΠ°ΠΉΠΌ-Π°ΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΠΎΡΠ΅ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΈΠ»ΠΈ ΠΏΡΠΈΠ΅ΠΌ Π»ΠΈΡΠ½ΠΈΡ ΠΊΠΎΠΏΠΈΠΉ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ Π½Π° ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅. ΠΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π΅Π½Π°Π΄Π΅ΠΆΠ½ΡΠΉ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΡΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ», ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ UDP, ΠΏΠ°ΠΊΠ΅Ρ RPC ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ°ΠΉΠΌ-Π°ΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ° Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΠΎΠ±ΡΠ΅ΠΌΡ ΡΠ°ΠΉΠΌ-Π°ΡΡΡ. ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ RPC Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΎΡΠ²Π΅ΡΠ° Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΌΡ Π·Π°ΠΏΡΠΎΡΡ.
ΠΡΠ±ΠΎΠΉ Π²ΡΠ·ΠΎΠ² ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠ½Π΅ΡΠ΅Π½ ΠΊ Π³ΡΡΠΏΠΏΠ΅ Β«ΡΠΎΠ²Π½ΠΎ ΠΎΠ΄ΠΈΠ½Β», Β«Π½Π΅ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ ΠΎΠ΄ΠΈΠ½Β» ΠΈΠ»ΠΈ Β«Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΡΠ΅ΠΌ ΠΎΠ΄ΠΈΠ½Β». ΠΠ»Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π½ΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ RPC ΡΡΡ ΡΠ°Π·Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ. Π‘Π»Π΅Π΄ΡΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΈΠ΄Π΅ΠΌΠΏΠΎΡΠ΅Π½ΡΠ½ΡΠΌΠΈ ΠΈ Π½Π΅ΠΈΠ΄Π΅ΠΌΠΏΠΎΡΠ΅Π½ΡΠ½ΡΠΌΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°ΠΌΠΈ.
Sun RPC β ΡΡΠΎ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΠ°ΠΊΠ΅Ρ, ΠΈ ΠΌΡ Π»ΠΈΡΡ Π²ΠΊΡΠ°ΡΡΠ΅ ΠΎΠ±ΡΡΠ΄ΠΈΠ»ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ rpcgen ΡΠΊΡΡΠ²Π°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ ΠΈ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Sun ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΡΠΎΠ²Π½ΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ RPC β ΡΠΏΡΠΎΡΠ΅Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, Π²Π΅ΡΡ Π½ΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ, ΡΡΠ΅Π΄Π½ΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ, ΡΡΠΎΠ²Π΅Π½Ρ ΡΠΊΡΠΏΠ΅ΡΡΠΎΠ² ΠΈ Π½ΠΈΠ·ΠΊΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ, Π½ΠΎ ΡΡΠΈ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±Π΅ΡΡΠΌΡΡΠ»Π΅Π½Π½Ρ. ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ RPC β 164, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
β 11 auth_ (Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ);
β 26 clnt_ (ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠ΅);
β 5 pmap_ (Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠΎΠ²);
β 24 rpc_ (ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ);
β 44 svc_ (ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠ΅);
β 54 xdr_ (ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ XDR).
ΠΠ»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΡΠΎΠΊΠ΅ΡΠΎΠ² ΠΈ XTI ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΏΠΎ 25 ΡΡΠ½ΠΊΡΠΈΠΉ, Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π΄Π²Π΅ΡΠ΅ΠΉ, ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Posix ΠΈ System V, ΡΠ΅ΠΌΠ°ΡΠΎΡΠΎΠ² ΠΈ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΏΠΎ 10 ΡΡΠ½ΠΊΡΠΈΠΉ. 15 ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ΅ Posix, 10 β Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΡΠ»ΠΎΠ²Π½ΡΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ. 11 ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°ΠΌΠΈ ΡΡΠ΅Π½ΠΈΡ-Π·Π°ΠΏΠΈΡΠΈ Posix ΠΈ ΠΎΠ΄Π½Π° ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΎΠΉ Π·Π°ΠΏΠΈΡΠ΅ΠΉ fcntl.
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΡ
1. ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΠ΅ΡΠ²Π΅Ρ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅ΡΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠΎΠ². Π§ΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ»Π°Π²ΠΈΡΠ΅ΠΉ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°? Π§ΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ, Π΅ΡΠ»ΠΈ Π½Π° ΡΡΠΎΡ ΡΠ΅ΡΠ²Π΅Ρ Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ ΠΏΡΠΈΠ΄Π΅Ρ Π·Π°ΠΏΡΠΎΡ ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°?
2. ΠΠ»ΠΈΠ΅Π½Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ RPC ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ UDP, ΠΈ ΠΊΡΡ Π½Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½. ΠΠ»ΠΈΠ΅Π½Ρ ΠΏΠΎΡΡΠ»Π°Π΅Ρ Π·Π°ΠΏΡΠΎΡ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ, Π½ΠΎ ΡΠ΅ΡΠ²Π΅ΡΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ 20 ΡΠ΅ΠΊΡΠ½Π΄ Π΄ΠΎ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΎΡΠ²Π΅ΡΠ°. ΠΠ»ΠΈΠ΅Π½Ρ ΠΏΠΎΡΡΠ»Π°Π΅Ρ Π·Π°ΠΏΡΠΎΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΡΠ΅ΡΠ΅Π· 15 ΡΠ΅ΠΊΡΠ½Π΄, ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΌΡ Π·Π°ΠΏΡΡΠΊΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ°. Π§ΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΡΠΎ Π²ΡΠΎΡΡΠΌ ΠΎΡΠ²Π΅ΡΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ°?
3. Π’ΠΈΠΏ XDR string Π²ΡΠ΅Π³Π΄Π° ΠΊΠΎΠ΄ΠΈΡΡΠ΅ΡΡΡ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². Π§ΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ, Π΅ΡΠ»ΠΈ ΠΌΡ Π½Π°ΠΏΠΈΡΠ΅ΠΌ char Ρ[10] Π²ΠΌΠ΅ΡΡΠΎ string s<10>?
4. ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ string Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 16.11 ΡΠΎ 128 Π½Π° 10 ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ write. Π§ΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ? Π£Π±Π΅ΡΠΈΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ ΠΈ ΡΡΠ°Π²Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ» data_xdr.Ρ Ρ ΡΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½, ΠΊΠΎΠ³Π΄Π° Π΄Π»ΠΈΠ½Π° Π±ΡΠ»Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π°. Π§ΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ?
5. ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΡΠ΅ΡΠΈΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π² Π²ΡΠ·ΠΎΠ²Π΅ xdrmem_create (ΡΠ°Π·ΠΌΠ΅Ρ Π±ΡΡΠ΅ΡΠ°) Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 16.13 Π½Π° 50 ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅, ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ.
6. Π ΡΠ°Π·Π΄Π΅Π»Π΅ 16.5 ΠΌΡ ΠΎΠΏΠΈΡΠ°Π»ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΡΡΠ° ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΡ ΠΎΡΠ²Π΅ΡΠΎΠ² ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° UDP. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» TCP ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΡΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΎΠ΄Π°. Π ΡΠ΅ΠΌ ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΈ ΠΊΠ°ΠΊ Π²Π΅Π»ΠΈΠΊ ΡΡΠΎΡ ΠΊΡΡ Ρ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° TCP? (ΠΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°: ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» TCP ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΡΡΠΎ ΠΏΡΠΈΠ½ΡΡΠ° ΠΊΠΎΠΏΠΈΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΡΠ°Π½Π΅Π΅ Π΄Π°Π½Π½ΡΡ ?)
7. ΠΡΡΡ ΠΏΡΡΡ ΠΏΠΎΠ»Π΅ΠΉ, ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΡΡΠΈΡ ΠΊΠ°ΠΆΠ΄ΡΡ Π·Π°ΠΏΠΈΡΡ Π² ΠΊΡΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ°. Π ΠΊΠ°ΠΊΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ, ΡΡΠΎΠ±Ρ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ?
8. ΠΡΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ tcpdump Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΈΠ· ΡΠ°Π·Π΄Π΅Π»Π° 16.5, Π³Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ TCP, ΠΌΡ ΡΠ·Π½Π°Π΅ΠΌ, ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠ° 48 Π±Π°ΠΉΡ, Π° ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΡΠ²Π΅ΡΠ° 32 Π±Π°ΠΉΡ (Π±Π΅Π· Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² TCP ΠΈ IPv4). ΠΠΎΠ»ΡΡΠΈΡΠ΅ ΡΡΠΎΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΠ· ΡΠΈΡΡΠ½ΠΊΠ° 16.3. ΠΠ°ΠΊΠΎΠ² Π±ΡΠ» Π±Ρ ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ UDP Π²ΠΌΠ΅ΡΡΠΎ TCP?
9. ΠΠΎΠΆΠ΅Ρ Π»ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ RPC Π² ΡΠΈΡΡΠ΅ΠΌΠ΅, Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠ΅ΠΉ ΠΏΠΎΡΠΎΠΊΠΈ, Π²ΡΠ·Π²Π°ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΏΠΎΡΠΎΠΊΠΎΠ²? Π§ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΎ ΡΠ°Π·Π»ΠΈΡΠΈΠΈ Π² ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°Ρ , ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΎΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ 16.2?
10. Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ read ΠΈΠ· Π»ΠΈΡΡΠΈΠ½Π³Π° 16.19 ΠΌΡ Π²ΡΠ΄Π΅Π»ΡΠ»ΠΈ ΠΌΠ΅ΡΡΠΎ ΠΏΠΎΠ΄ Π±ΡΡΠ΅Ρ, Π² ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠΈΡΡΠ²Π°Π»ΡΡ ΡΠ°ΠΉΠ», ΠΈ ΡΡΠΎΡ Π±ΡΡΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π» ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ vstring_arg. ΠΠΎ Π³Π΄Π΅ Ρ ΡΠ°Π½ΠΈΡΡΡ ΡΡΡΠΎΠΊΠ°, Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ vstring_arg? ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π²Π°ΡΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
11. Sun RPC ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π½ΡΠ»Π΅Π²ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Ρ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ 0 (ΠΏΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ ΠΌΡ Π²ΡΠ΅Π³Π΄Π° Π½Π°ΡΠΈΠ½Π°Π»ΠΈ Π½ΡΠΌΠ΅ΡΠ°ΡΠΈΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡ Ρ 1, ΠΊΠ°ΠΊ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 16.1). ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, Π»ΡΠ±Π°Ρ Π·Π°Π³Π»ΡΡΠΊΠ° ΡΠ΅ΡΠ²Π΅ΡΠ°, ΡΠΎΠ·Π΄Π°Π½Π½Π°Ρ rpcgen, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ (Π² ΡΠ΅ΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»Π΅Π³ΠΊΠΎ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΠΏΠΎΡΠΌΠΎΡΡΠ΅Π² ΡΠ΅ΠΊΡΡ Π»ΡΠ±ΠΎΠΉ Π·Π°Π³Π»ΡΡΠΊΠΈ, ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π½Π°ΡΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ²). ΠΡΠ»Π΅Π²Π°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Π½Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ. Π§Π°ΡΡΠΎ ΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ°Π±ΠΎΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π½Π° ΡΠ΅ΡΠ²Π΅Ρ ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ. ΠΠΎ Π΅ΡΠ»ΠΈ ΠΌΡ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° Π·Π°Π³Π»ΡΡΠΊΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ Π² Π½Π΅ΠΉ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π·Π°Π³Π»ΡΡΠΊΠΈ Π΄Π»Ρ ΡΡΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ. ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ clnt_call ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π΅Π΅ Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° Π½ΡΠ»Π΅Π²ΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° ΡΡΠΎΠΉ Π³Π»Π°Π²Ρ.
12. ΠΠΎΡΠ΅ΠΌΡ Π² ΡΠ°Π±Π» Π.1 Π½Π΅Ρ Π·Π°ΠΏΠΈΡΠΈ Π΄Π»Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 65536 Π΄Π»Ρ Sun RPC ΠΏΠΎΠ²Π΅ΡΡ UDP? ΠΠΎΡΠ΅ΠΌΡ Π½Π΅Ρ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π΄Π»Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π΄Π»ΠΈΠ½ΠΎΠΉ 16384 ΠΈ 32768 Π² ΡΠ°Π±Π». Π.2 Π΄Π»Ρ Sun RPC ΠΏΠΎΠ²Π΅ΡΡ UDP?
13. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅, ΡΡΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π²ΡΠ·ΠΎΠ²Π° xdr_free ΠΈΠ· Π»ΠΈΡΡΠΈΠ½Π³Π° 16.19 ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΡΡΠ΅ΡΠΊΠ΅ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ
for(;;) {