
рд▓реЗрдЦ рдореЗрдВ Qt рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реНрдЯреИрдХ рдкрд░ рд╣реЗрд╕рд┐рдпрди рдмрд╛рдЗрдирд░реА рд╡реЗрдм рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕реА ++ рд▓рдХреНрд╖реНрдп рдордВрдЪред
рд╣реЗрд╕рд┐рдпрди рдПрдХ рдмрд╛рдЗрдирд░реА рд╡реЗрдм рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧреА рд╡реЗрдм рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдпрд╣ рдмрд╛рдд рдЖрдкрдХреЛ рдмрддрд╛рдПрдЧреА рдХрд┐ рдХрд┐рд╕реА рднреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдЖрдкрдХреА рд╡рд┐рдВрдбреЛ рдХреЗ рдмрд╛рд╣рд░ рдХрд╛ рдореМрд╕рдо рдХреИрд╕рд╛ рд╣реИ)ред рд╣реЗрд╕рд┐рдпрди рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдХрд╛рдКрдХреЛ рдЯреЗрдХреНрдиреЛрд▓реЙрдЬреА, рдЗрдВрдХред рдХрдВрдкрдиреА рдиреЗ рдЬрд╛рд╡рд╛, рдкрд╛рдпрдерди рдФрд░ рдПрдХреНрд╢рдирд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рднреА рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ред рддреГрддреАрдп-рдкрдХреНрд╖ рдХрдВрдкрдирд┐рдпреЛрдВ рдиреЗ рд▓рдЧрднрдЧ рд╕рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ (C ++, C #, Perl, PHP, Ruby, Objective-C, D, Erlang) рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рд╣реИред
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реЗрдм рдХреА рдПрдХ рдЯреЛрдХрд░реА рд╣реИред рдФрд░ рд╣рдо рдЧреНрд░рд╛рд╣рдХ рдХреЗ рдЕрдиреБрд░реЛрдз рдкрд░ рдЙрд╕реЗ рдПрдХ рд╕реЗрдм рджреЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ рд╣реЗрд╕рд┐рдпрди рд╣рдорд╛рд░реА рдорджрдж рдХрд░реЗрдЧрд╛ред
рд╕рд░реНрд╡рд░ рдкрд░, рд╣рдо рд╕реЗрд╡рд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ (рдЬрд╛рд╡рд╛ рдореЗрдВ рд╕рд░реНрд╡рд░) рдмрдирд╛рддреЗ рд╣реИрдВ:
public interface FruitService {
Apple getNextApple();
}
* This source code was highlighted with Source Code Highlighter .
рд╣рдо рдЧреНрд░рд╛рд╣рдХ (C ++) рдкрд░ рдПрдХ рд╕рдорд╛рди рд╢реНрд░реЗрдгреА рдмрдирд╛рддреЗ рд╣реИрдВ:
class FruitService {
public :
Apple getNextApple();
}
* This source code was highlighted with Source Code Highlighter .
рдЬрдм getNextApple () рд╡рд┐рдзрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдХреЙрд▓ рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рд╣реЗрд╕рд┐рдпрди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рд░реНрд╡рд░ (рдПрдХ рд╕рдорд╛рди рд╕рд░реНрд╡рд░ рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП) рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИред рд╣реЗрд╕рд┐рдпрди рд╣рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реЗрдм рдкрд╣реБрдВрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рд╕рд░реНрд╡рд░ рдкрд░ рдбреЗрдЯрд╛ рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдЗрд╕реЗ рдбрд┐рд╕реЗрд░реНрдмрд▓рд╛рдЗрдЬ рдХрд░рддрд╛ рд╣реИред рдПрдХ рд╕реЗрдм рдХреЛ рдмрд╛рдЗрдЯ рд╕рд░рдгреА рдореЗрдВ рдмрджрд▓рдирд╛, рдЗрд╕реЗ рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛, рдФрд░ рдПрдХ рд╕рд░рдгреА рд╕реЗ рд╕реЗрдм рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЗрд╕рд┐рдпрди рдХрд╛рд░реНрдп рд╣реИред рдмрд╛рдХреА рдЖрдкрдХрд╛ рдХрд╛рдо рд╣реИред
рдХреНрдпреВрдЯреАрдХреНрдпреВрдЯреА рдПрдХ рд░реВрдкрд░реЗрдЦрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╢рд╛рдпрдж рд╣реА рдЗрд╕реЗ рдкреЗрд╢ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВ рдХреЗрд╡рд▓ рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдо рдХреНрдпреВрдЯреА рд╕реА ++ рдХреЗ рд▓рд┐рдП рд╣реЗрд╕рд┐рдпрди рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, C ++ рдХреЗ рддрд╣рдд рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдХрдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди (рдореИрдВ 2 рдЦреЛрдЬрдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗ):
рд╣реЗрд╕рд┐рдпрди рд╕реАрдкреАрдкреА рдФрд░ рд╣реЗрд╕рд┐рдпрдиреЛрд░рдм рдорд╣рд╛рди рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВ рдФрд░ рд╡реЗ рдХрд╛рдлреА рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╣реИрдВред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рд╣реЗрд╕рд┐рдпрдиреЛрд░рдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ - рдпрд╣ рдХреЛрдб рдкреАрдврд╝реА рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред рдЖрдкрдХреЛ рдПрдХ рдЯреАрдо рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП C ++ рдкреНрд░реЙрдХреНрд╕реА рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (рджреЛ рдШрдВрдЯреЗ рдХреА рддреИрдпрд╛рд░реА рдХреЗ рдмрд╛рдж)ред
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рджреЛрдиреЛрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЖрдкрдХреЛ рдХреНрдпреВрдЯреА рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╡рд┐рджреЗрд╢реА рджрд┐рдЦрдиреЗ рд╡рд╛рд▓реЗ рдХреЛрдб рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддреЗ рд╣реИрдВред рдЙрдиреНрд╣реЗрдВ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реНрдЯреИрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: рд╣реЗрд╕рд┐рдпрди рд╕реАрдкреАрдкреА - рдПрд╕рдПрд╕рдПрд▓рдкреАрдкреА, рд╣реЗрд╕рд┐рдпреЛрдирд░реНрдм - рд╕реАрдИрдЖрд░рдПрд▓ред рдпрд╣ рддрдереНрдп, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╡рд┐рдХрд╛рд╕ рдХреЛ рдЬрдЯрд┐рд▓ рдмрдирд╛рддрд╛ рд╣реИред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдиреЗрдЯрд╡рд░реНрдХ рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХреЗ рд▓рд┐рдП рдЗрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рдЬрд░реВрд░рдд рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Qt рдХреА рдЕрдкрдиреА рдПрдХ рдкрд░рдд рд╣реИ рдФрд░ рдореИрдВ рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рджреЛрдиреЛрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рддреЗ рд╕рдордп рдирд┐рд╖реНрдкрд╛рджрди рдкреНрд░рд╡рд╛рд╣ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░рддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ рдХреНрдпреВрдЯреА рдиреЗрдЯрд╡рд░реНрдХ рдкрд░рдд рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╣реИред
рдЗрд╕ рдкреНрд░рдХрд╛рд░ , рдореЗрд░рд╛ рд▓рдХреНрд╖реНрдп
QNetworkAccessManager рдФрд░ рдЗрд╕рдХреЗ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдкреНрд░рдХреГрддрд┐ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдмрдирд╛рдирд╛ рдерд╛ред
QHessianQHessian (рдЗрд╕рдХреЗ рдмрд╛рдж qh) рдПрдХ рд╣реЗрд╕рд┐рдпрди рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ рдЬреЛ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, Qt рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реНрдЯреИрдХ рдЗрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рд╣реЗрд╕рд┐рдпрди рдХрд╛ рд▓рдХреНрд╖реНрдп рдХреНрд░рдордмрджреНрдз рдХрд░рдирд╛ рд╣реИ, рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╕рдВрдЪрд╛рд░ рдХрд░рдирд╛ рдФрд░ рдбреЗрдЯрд╛ рдХреЛ рдбреАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдирд╛ рд╣реИред QNetworkAccessManager рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╕рдВрдЪрд░рдг рдХрд╛ рдзреНрдпрд╛рди рд░рдЦрддрд╛ рд╣реИред
рд╣реЗрд╕рд┐рдпрди 2.0 рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬреЗрд╢рди рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдбреЗрдЯрд╛ рдХреНрд░рдордмрджреНрдз рдФрд░ deserialized рд╣реИред рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
- рдХрдЪреНрдЪреЗ рдмрд╛рдЗрдирд░реА рдбреЗрдЯрд╛ рдХреЛ рдкрдврд╝реЗрдВ / рд▓рд┐рдЦреЗрдВ
- рдкрдврд╝рдиреЗ / рд▓рд┐рдЦрдиреЗ рдмреВрд▓рд┐рдпрди
- 64-рдмрд┐рдЯ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рддрд┐рдерд┐ рдкрдврд╝реЗрдВ / рд▓рд┐рдЦреЗрдВ
- 64-рдмрд┐рдЯ рдбрдмрд▓ рдкрдврд╝реЗрдВ / рд▓рд┐рдЦреЗрдВ
- 32-рдмрд┐рдЯ рдЗрдВрдЯ рдкрдврд╝реЗрдВ / рд▓рд┐рдЦреЗрдВ
- 64-рдмрд┐рдЯ рд▓рдВрдмрд╛ рдкрдврд╝реЗрдВ / рд▓рд┐рдЦреЗрдВ
- null рдкрдврд╝реЗрдВ / рд▓рд┐рдЦреЗрдВ
- UTF8- рдПрдиреНрдХреЛрдбреЗрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкрдврд╝реЗрдВ / рд▓рд┐рдЦреЗрдВ
- рд╕реВрдЪрд┐рдпреЛрдВ рдФрд░ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рдкрдврд╝реЗрдВ / рд▓рд┐рдЦреЗрдВ
- рдорд╛рдирдЪрд┐рддреНрд░реЛрдВ рдФрд░ рд╢рдмреНрджрдХреЛрд╢реЛрдВ рдХреЛ рдкрдврд╝реЗрдВ / рд▓рд┐рдЦреЗрдВ
- рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдкрдврд╝реЗрдВ / рд▓рд┐рдЦреЗрдВ
- рд╕рд╛рдЭрд╛ рдФрд░ рдкрд░рд┐рдкрддреНрд░ рд╡рд╕реНрддреБ рд╕рдВрджрд░реНрднреЛрдВ рдХреЗ рд▓рд┐рдП рд░реЗрдлрд░реА рдкрдврд╝реЗрдВ / рд▓рд┐рдЦреЗрдВ
- рдСрдмреНрдЬреЗрдХреНрдЯ / рд▓рд┐рд╕реНрдЯ рд░реЗрдлрд░реЗрдВрд╕ рдореИрдк рдкрдврд╝реЗрдВ / рд▓рд┐рдЦреЗрдВ
- рдХрдХреНрд╖рд╛ рдкрд░рд┐рднрд╛рд╖рд╛ рд╕рдВрджрд░реНрдн рдорд╛рдирдЪрд┐рддреНрд░ рдкрдврд╝реЗрдВ / рд▓рд┐рдЦреЗрдВ
- рдкрдврд╝рдиреЗ / рд▓рд┐рдЦрдиреЗ рдХреЗ рдкреНрд░рдХрд╛рд░ (рд╡рд░реНрдЧ рдирд╛рдо) рд╕рдВрджрд░реНрдн рдирдХреНрд╢рд╛
рдЗрд╕ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, qh рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреНрд░рдХрд╛рд░ рдкрджрд╛рдиреБрдХреНрд░рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ:
- рдЕрд╢рдХреНрдд рдорд╛рди рдкрдврд╝реЗрдВ / рд▓рд┐рдЦреЗрдВ
- рдмреВрд▓рд┐рдпрди рдкрдврд╝рдиреЗ / рд▓рд┐рдЦрдиреЗ рдмреВрд▓
- рдкреВрд░реНрдгрд╛рдВрдХ 32-рдмрд┐рдЯ рд╕рдВрдЦреНрдпрд╛ (qint32) рдкрдврд╝реЗрдВ / рд▓рд┐рдЦреЗрдВ
- 64-рдмрд┐рдЯ рд╕рдВрдЦреНрдпрд╛ (qint64) рдХреЛ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдкрдврд╝рдирд╛ / рд▓рд┐рдЦрдирд╛
- 64-рдмрд┐рдЯ IEEE 754 рдЧреИрд░-рдкреВрд░реНрдгрд╛рдВрдХ (рд╡рд╛рд╕реНрддрд╡рд┐рдХ) рдбрдмрд▓ рд░реАрдб / рд░рд╛рдЗрдЯ
- рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкрдврд╝рдирд╛ / рд▓рд┐рдЦрдирд╛ UTF-8 рд╕реНрдЯреНрд░рд┐рдВрдЧ (QString)
- рджрд┐рдирд╛рдВрдХ рд╕рдордп рдкрдврд╝рдиреЗ / рд▓рд┐рдЦрдиреЗ рдХреА рддрд┐рдерд┐ (QDateTime)
- рдмрд╛рдЗрдЯ рдкрдврд╝рдиреЗ / рд▓рд┐рдЦрдиреЗ рдмрд╛рдЗрдЯ рд╕рд░рдгреА (QByteArray)
- BeginCollection рд╕рдВрдЧреНрд░рд╣ рдХреА рд╢реБрд░реБрдЖрдд рдХреЛ рдкрдврд╝реЗрдВ / рд▓рд┐рдЦреЗрдВ
- EndCollection Read / Write End Collection
- StartMap рдкреНрд░рд╛рд░рдВрдн рдорд╛рдирдЪрд┐рддреНрд░ рдкрдврд╝реЗрдВ / рд▓рд┐рдЦреЗрдВ
- HasMoreMap рдХреЗрд╡рд▓ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП - рдирдХреНрд╢реЗ рдХреЗ рдЕрдВрдд рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ
- рдПрдВрдбрдкреЙрдЗрдВрдЯ рдореИрдк рдХреЗ рдПрдВрдб рдХреЛ рдкрдврд╝реЗрдВ / рд▓рд┐рдЦреЗрдВ
- BeginObject рд╡рд╕реНрддреБ рдХреА рд╢реБрд░реБрдЖрдд рдХреЛ рдкрдврд╝рддрд╛ / рд▓рд┐рдЦрддрд╛ рд╣реИ
- рдПрдВрдб рдСрдмрдЬреЗрдХреНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдкрдврд╝рдиреЗ / рд▓рд┐рдЦрдиреЗ рдХрд╛ рдЕрдВрдд
- рд░реЗрдлрд░реА рдкрдврд╝реЗрдВ / рд▓рд┐рдЦреЗрдВ рд╡рд╕реНрддреБ рд╕рдВрджрд░реНрдн
рдХреНрдпреВрдПрдЪ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рддрдВрддреНрд░ рдорд╛рдирдХ рдЗрдирдкреБрдЯ / рдЖрдЙрдЯрдкреБрдЯ рдзрд╛рд░рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрдВрддреНрд░ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рддреЗ рд╣реИрдВред рдпрд╛рдиреА рдкрдарди "
>> " рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдХреНрд░рдорд╢рдГ рд▓реЗрдЦрди, "
<< " рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрдврд╝рдирд╛ рдПрдХ рд╡рд┐рд╢реЗрд╖ QHessianReturnParser рдСрдмреНрдЬреЗрдХреНрдЯ (рд╕рд░реНрд╡рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкрд╛рд░реНрд╕рд░) рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рд░рд┐рдХреЙрд░реНрдб QHessianMethodCall рдСрдмреНрдЬреЗрдХреНрдЯ (рд╕рд░реНрд╡рд░ рдкрд░ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рддреИрдпрд╛рд░ рдХрд░рдирд╛) рдореЗрдВ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирдореВрдирд╛ рд╕рд░реНрд╡рд░ рд╡рд┐рдзрд┐ (рдкреВрд░реНрдгрд╛рдВрдХ, рд╕реНрдЯреНрд░рд┐рдВрдЧ, рддрд┐рдерд┐) рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
{
using namespace QHessian:: in ;
QHessian::QHessianMethodCall call( "sample" );
call << Long(55) << String (тАЬтАЭ) << DateTime (QDateTime::currentDateTime ());
call.invoke(networkManager,
QUrl(тАЬhttp: //serviceUrlтАЭ), //
myQObject, // QObject,
SLOT(reply()), //
SLOT(error( int , const QString&))); //
}
* This source code was highlighted with Source Code Highlighter .
рдпрд╣ рдХреЛрдб рдирдореВрдирд╛ рдкрджреНрдзрддрд┐ рдХреЛ рдкреИрд░рд╛рдореАрдЯрд░ 55, рд╡рд╕реАрд▓реА, рд╡рд░реНрддрдорд╛рди рд╕рдордп рдХреЗ рд╕рд╛рде рдХреЙрд▓ рдХрд░реЗрдЧрд╛ред рд╕рд░реНрд╡рд░ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ myQObject рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рддреНрд░реБрдЯрд┐ рд╕реНрд▓реЙрдЯ рдореЗрдВ, myQObject рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЙрддреНрддрд░ () рд╕реНрд▓реЙрдЯ рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХреА рдЬрд╛рдПрдЧреА, рдпрд╛ред рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛ рджреВрдВ рдХрд┐ рдХреЙрд▓ рдмреНрд▓реЙрдХ рдирд╣реАрдВ рд╣реЛ рд░рд╣реА рд╣реИ, рдЕрд░реНрдерд╛рдд рдорд▓реНрдЯреАрдереНрд░реЗрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рднрд╛рдк рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рд╣рдорд╛рд░реА рд╕реЗрд╡рд╛ рдХреЗрд╡рд▓ рд╡рд╕реНрддреБ com.googlecode.AnswerObject рдореЗрдВ рджрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рддреА рд╣реИред рддрдм рдЙрддреНрддрд░ рд╕реНрд▓реЙрдЯ рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:
void MyQObject::reply() {
using namespace QHessian:: out ;
qint32 long ;
QString string ;
QDateTime dateTime;
QHessian::QHessianReturnParser& parser =
*(QHessian::QHessianReturnParser*) QObject::sender();
parser >> BeginObject(тАЬcom.googlecode.AnswerObjectтАЭ)
>> Long( long )
>> String ( String )
>> DateTime (dateTime)
>> EndObject();
parser.deleteLater();
}
* This source code was highlighted with Source Code Highlighter .
рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдмрд╛рдж, рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдореВрд▓реНрдп 55 рд╣реЛрдЧрд╛, рд╕реНрдЯреНрд░рд┐рдВрдЧ - рд╡рд╛рд╕рд┐рд▓реА, рдбреЗрдЯрд╛рдЗрдо - рдкреНрд░реЗрд╖рд┐рдд рд╕рдордпред
QHessian рд╕рдВрдЧреНрд░рд╣ (рд╕рд░рдгрд┐рдпрд╛рдБ, рд╕реВрдЪрд┐рдпрд╛рдБ, рд╕рд╛рд╣рдЪрд░реНрдп рд╕рд░рдгрд┐рдпрд╛рдБ, рдЖрджрд┐) рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рд╕рд░реНрд╡рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдмрд╣реБрднреБрдЬ рд╡рд░реНрдЧ рдкрдврд╝ рд╕рдХрддрд╛ рд╣реИ:
{
using namespace QHessian:: out ;
QHessian::QHessianReturnParser& parser =
*(QHessian::QHessianReturnParser*) QObject::sender();
qint32 pointCount;
parser >> BeginObject( "Polygon" );
parser >> BeginCollection(тАЬpointsтАЭ, pointCount);
for ( int i=0; i<pointCount; ++i) {
qint32 x, y;
parser >> Integer(x) >> Integer(y);
}
parser >> EndCollection();
parser >> EndObject();
parser.deleteLater();
}
* This source code was highlighted with Source Code Highlighter .
рдЗрд╕ рдХреЛрдб рдореЗрдВ:
- рдмрд┐рдЧрдмреЛрдЬ ("рдмрд╣реБрднреБрдЬ"); - рдмрд╣реБрднреБрдЬ рд╡рд░реНрдЧ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд╕реНрддреБ рдЦреЛрд▓реЗрдВ;
- рдмрд┐рдЧреБрд▓рд┐рдпрдирд╢рди ("рдЕрдВрдХ", рдкреЙрдЗрдВрдЯрдХрд╛рдЙрдВрдЯ); - рд╕рдВрдЧреНрд░рд╣ рдЦреЛрд▓реЗрдВ рдФрд░ рдЕрдкрдиреА рд▓рдВрдмрд╛рдИ рдкреЙрдЗрдВрдЯрдХрд╛рдЙрдВрдЯ рдореЗрдВ рдбрд╛рд▓реЗрдВ;
- рд▓реВрдк рдХреЗ рд▓рд┐рдП рд╣рдо рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдкрджреЛрдВ рдХреЛ рдкрдврд╝рддреЗ рд╣реИрдВ;
- EndCollection (); - рд╕рдВрдЧреНрд░рд╣ рдмрдВрдж рдХрд░реЗрдВ;
- рдПрдВрдбрдСрдмреНрдЬреЗрдХреНрдЯ (); - рд╡рд╕реНрддреБ рдХреЛ рдмрдВрдж рдХрд░реЗрдВред
рдпрд╣ рднреА рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рд╣рдо рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рд░реНрд╡рд░ рдПрдХ рдЕрдкреНрд░рдХрд╛рд╢рд┐рдд рд╕реВрдЪреА рд╕реВрдЪреА <? рдЬреНрдпреЛрдореЗрдЯреНрд░реА рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░> рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдкрдХреЛ рд╡рд┐рд╢реЗрд╖ рдкрд┐рдВрдЧрд┐рдВрдЧ () рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╕реНрдЯреНрд░реАрдо рд╕реЗ рдкрдврд╝рдиреЗ рдХрд╛ рд╡рд╛рдВрдЫрд┐рдд рд╕рдВрдЪрд╛рд▓рди рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ (рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рд╣реИ)ред
рдирд┐рд╖реНрдХрд░реНрд╖рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдкреВрд░реА рддрд░рд╣ рдЙрдкрдпреБрдХреНрдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд┐рдХрд▓рд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдкреНрд▓рд╕рд╕ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
- рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХреНрдпреВрдЯреА рдкрд░ рдЖрдзрд╛рд░рд┐рдд, рдЕрд░реНрдерд╛рдд рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
- рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдкреНрд░рдХреГрддрд┐ред
- рдпрд╣ рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдкреВрд░реНрдг рд╕рд░реНрд╡рд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЙрдбрд▓ рдХреЗ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ (рдпрд╛рдиреА, рдХреЗрд╡рд▓ рд╡рд╣реА рдкрдврд╝реЗрдВ рдЬреЛ рдЖрдкрдХреЛ рдЪрд╛рд╣рд┐рдП)ред
- рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ - рдХреИрдЪреЛ рдЯреЗрдХреНрдиреЛрд▓реЙрдЬреА, рдЗрдВрдХ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рднреА рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИред рдкреНрд▓рд╕ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдвреЗрд░ред
- рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдЖрд╕рд╛рди (рдпрд╣ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ)ред
рд╡рд┐рдкрдХреНрд╖ рджреНрд╡рд╛рд░рд╛:
- Qh рдореЗрдВ рдХреЛрдб рдЬрдирд░реЗрд╢рди рдХрд╛ рдЕрднрд╛рд╡ рд╣реИред рд╣реЗрд╕рд┐рдпрдиреЛрд░рдм рдХреЗ рд╕рд╛рде рдореЗрд░реЗ рдЕрдиреБрднрд╡ рдиреЗ рдореБрдЭреЗ рдЖрд╢реНрд╡рд╕реНрдд рдХрд┐рдпрд╛ рдХрд┐ рдХреЛрдб рдкреАрдврд╝реА рдЙрддрдиреА рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд╣реИ рдЬрд┐рддрдирд╛ рд▓рдЧрддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ: рдкрд░реНрдпрд╛рд╡рд░рдг рдЕрдХреНрд╕рд░ рдмрджрд▓рддрд╛ рд░рд╣рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рд▓рдЧрд╛рддрд╛рд░ рдХреЛрдб рдЬрдирд░реЗрд╢рди рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рд╣реЗрд╕рд┐рдпрдирдмреЛрд░ рдореЗрдВ рдЙрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ рдЬрд┐рддрдирд╛ рд╣рдо рдЪрд╛рд╣реЗрдВрдЧреЗ; рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд: рдмрд╣реБрдд рд╕реЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдХреЛрдб рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ (рд╕рдВрдкреВрд░реНрдг рдСрдмреНрдЬреЗрдХреНрдЯ рдореЙрдбрд▓ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреА рдЕрдХреНрд╕рд░ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ)ред рд╣рд╛рд▓рд╛рдВрдХрд┐, qh рдмрд╣реБрдд рдирд┐рдореНрди-рд╕реНрддрд░ рдХрд╛ рдирд┐рдХрд▓рд╛, рдФрд░ рдПрдХ рдорд╣рд╛рди рдЗрдЪреНрдЫрд╛ рдХреЗ рд╕рд╛рде, рдПрдХ рдХреЛрдб рдкреАрдврд╝реА рддрдВрддреНрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
- рдЖрдкрдХреЛ рд╕рд░реНрд╡рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛ред
рд╕рдВрджрд░реНрдн:
рд╣реЗрд╕рд┐рдпрди:
http://hessian.caucho.comQHessian:
http://code.google.com/p/qhessianQHessian FAQ:
http://code.google.com/p/qhessian/wiki/FAQQHessian QA:
http://code.google.com/p/qhessian/wiki/QHessian_QAрдЖрдкрдХрд╛ рдзрдиреНрдпрд╡рд╛рдж
==
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдФрд░ рд▓реЗрдЦ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдорджрдж рдХреЗ рд▓рд┐рдП рд╕рд░реНрдЧреЗрдИ рдмрд┐рдЬрд┐рди рдХреЛ рдзрдиреНрдпрд╡рд╛рджред
UPD:
рдмреНрд▓реЙрдЧ