Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° J2MeΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 36

Автор Автор нСизвСстСн

Когда Ρƒ вас установлСно соСдинСниС, Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π΄Π²Π° ΠΏΠΎΡ‚ΠΎΠΊΠ° для взаимодСйствия с сСтСвым рСсурсом. БущСствуСт Π΄Π²Π° аспСкта ΠΏΡ€ΠΈ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ с сСтСвым рСсурсом

β€” Π°Π½Π°Π»ΠΈΠ· сообщСния ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°;

β€” Π°Π½Π°Π»ΠΈΠ· ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ сообщСния β€” содСрТимого сообщСния.


НапримСр, Ссли ΠΊΠ»ΠΈΠ΅Π½Ρ‚ устанавливаСт HTTP-соСдинСниС, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ синтаксис ΠΈ сСмантику ΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎΠ³ΠΎ сообщСния ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° HTTP, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½Π½ΠΎΠ³ΠΎ сСрвСром. Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ HTTP ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° содСрТимоС, ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ способСн ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ содСрТимоС ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Если, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, содСрТимоС сообщСния являСтся Π΄Π°Π½Π½Ρ‹ΠΌΠΈ HTML, ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ соотвСтствСнно Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ HTML содСрТимоС. Если ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π·Π½Π°Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹Ρ… входящим ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ, ΠΎΠ½ΠΎ Π½Π΅ смоТСт ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ синтаксис, Π»ΠΈΠ±ΠΎ сСмантику содСрТимого ΠΏΠΎΡ‚ΠΎΠΊΠ°.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΎΠ±Ρ‰ΠΈΡ… соСдинСний MIDP опрСдСляСт ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ Ρ‚ΠΈΠΏΠΎΠ² соСдинСний, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΡƒΡŽ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²ΠΈΠ΄ΠΎΠ² ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹Ρ… соСдинСний. Π’ΠΎ Π΅ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ соСдинСниями. ΠŸΡ€ΠΈ использовании ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ‚ΠΈΠΏΠ° соСдинСния Π°Π½Π°Π»ΠΈΠ· ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ содСрТимого соСдинСний становится ΠΏΡ€ΠΎΡ‰Π΅. НапримСр, HTTP-соСдинСния ΡΠ²Π»ΡΡŽΡ‚ΡΡ основой сСтСвых ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΉ Π² MIDP. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΎΠ±Ρ‰ΠΈΡ… соСдинСний опрСдСляСт Ρ‚ΠΈΠΏ соСдинСния, Ρ‡Π΅ΠΉ интСрфСйс ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ созданиС HTTP-запросов ΠΈ Π°Π½Π°Π»ΠΈΠ· HTTP-ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠΎΠ².


ΠšΠ»Π°ΡΡΡ‹ ΠΈ интСрфСйсы cΡ‚pyΠΊΡ‚ypΡ‹ ΠΎΠ±Ρ‰ΠΈΡ… соСдинСний

ΠŸΠ°ΠΊΠ΅Ρ‚ javax.microedition.io опрСдСляСт ΠΎΠ΄ΠΈΠ½ класс ΠΈ Π½Π°Π±ΠΎΡ€ интСрфСйсов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ содСрТимого соСдинСний. Класс Connector являСтся СдинствСнным ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ элСмСнтом Π² структурС ΠΎΠ±Ρ‰ΠΈΡ… соСдинСний. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для получСния Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… соСдинСний с рСсурсами. Он Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ содСрТит Ρ„Π°Π±Ρ€ΠΈΡ‡Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаСт Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ структур соСдинСний для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ².

Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ интСрфСйсов Π² структурС ΠΎΠ±Ρ‰ΠΈΡ… соСдинСний опрСдСляСт абстракции, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ соСдинСний, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Π±Π»ΠΎΠΊΠΎΠΌ создания соСдинСний. Π­Ρ‚ΠΈ интСрфСйсы ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‚ прилоТСниям ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ‰ΠΈΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ соСдинСний.

На рисункС 8.2 ΠΏΠΎΠΊΠ°Π·Π°Π½Π° иСрархия наслСдования интСрфСйсов MIDP, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΎΠ±Ρ‰Π΅ΠΉ структуры соСдинСний.




Рисунок 8.2. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Ρ‚ΠΈΠΏΠΎΠ² соСдинСний ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ абстракции, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ отраТаСтся Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ интСрфСйсС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². ВозмоТности ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ, Π° Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ Π΄Π²ΠΈΠ³Π°Π΅Ρ‚Π΅ΡΡŒ Π²Π½ΠΈΠ· ΠΏΠΎ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ. ВсС интСрфСйсы находятся Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ javax.microedition.io


На самом Π²Π΅Ρ€Ρ…Ρƒ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ находится интСрфСйс Connection. Как ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ Π΅Π³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅, ΠΎΠ½ прСдставляСт Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΠ±Ρ‰ΠΈΠΉ, абстрактный Ρ‚ΠΈΠΏ соСдинСния. ЕстСствСнно, всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ соСдинСний происходят ΠΈΠ· Π½Π΅Π³ΠΎ. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ Connection содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½-СдинствСнный ΠΌΠ΅Ρ‚ΠΎΠ΄

public void close ()

Как Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, соСдинСниС Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΆΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ ΠΏΡ€ΠΈ Π΅Π³ΠΎ создании классом Connector, поэтому Π² интСрфСйсС Π½Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΎΡ€Π΅n(). ΠŸΡ€ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ соСдинСния, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΅Π³ΠΎ.

ΠŸΡ€ΡΠΌΡ‹Π΅ подинтСрфСйсы Connection ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΅ абстрактныС Ρ‚ΠΈΠΏΡ‹ соСдинСний. По ΠΌΠ΅Ρ€Π΅ Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²Ρ‹ ΡΠΏΡƒΡΠΊΠ°Π΅Ρ‚Π΅ΡΡŒ Π²Π½ΠΈΠ· с Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ соСдинСний, интСрфСйс ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ всС большиС возмоТности. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ InputConnection прСдставляСт ΠΏΠΎΡ‚ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ… соСдинСния ΠΊΠ°ΠΊ InputStream, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ… с Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ. Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 8.1 ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Π΄Π²Π° Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.


Π’Π°Π±Π»ΠΈΡ†Π° 8.1. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ интСрфСйса InputConnection


Имя ΠΌΠ΅Ρ‚ΠΎΠ΄Π° InputConnection β€” ОписаниС

DatalnputStream openDatalnputStream () β€” ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ DatalnputStream, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ соСдиняСтся с сСтСвым рСсурсом, связанным с этим соСдинСниСм

InputStream openlnputStream() β€” ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ InputStream, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ соСдиняСтся с сСтСвым рСсурсом, связанным с Π΄Π°Π½Π½Ρ‹ΠΌ соСдинСниСм


Π­Ρ‚ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ Ρ‚ΠΈΠΏΡ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² InputStream. ВспомнитС, Ρ‡Ρ‚ΠΎ DatalnputStream являСтся подклассом InputStream. Бмысл Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊΠΈ, ΡΠΏΠΎΡΠΎΠ±ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. Если Π²Ρ‹ ΠΆΠ΅Π»Π°Π΅Ρ‚Π΅ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠΌ способом, ваша Π·Π°Π΄Π°Ρ‡Π° β€” ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ подходящСС Β«ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Β», ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π°ΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ доступ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ OutputConnection являСтся Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΈΠΌ подинтСрфСйсом Connection. Он Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с исходящими ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ опрСдСляСт содСрТимоС своих ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΠΊΠ°ΠΊ Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. Π•Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 8.2. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот интСрфСйс ΠΏΡ€ΠΈ записи Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π² ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ рСсурс.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этих Π΄Π²ΡƒΡ… интСрфСйсов Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Ρ‚Π΅ΠΌ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ входящий ΠΈΠ»ΠΈ выходящий ΠΏΠΎΡ‚ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ… рСсурса ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… Π±Π°ΠΉΡ‚ΠΎΠ², анализируя ΠΈΡ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² интСрфСйсов Datalnput ΠΈΠ»ΠΈ DataOutput. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π½Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π΄Π°Π½Π½Ρ‹Ρ…, посылаСмых устройством, ΠΈΠ»ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ устройством, соотвСтствСнно. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, Π½Π΅ сущСствуСт абстракции Π΄Π°Π½Π½Ρ‹Ρ…, которая устраняСт Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π·Π½Π°Ρ‚ΡŒ синтаксис ΠΈ сСмантику Π΄Π°Π½Π½Ρ‹Ρ… Π² InputConnection ΠΈΠ»ΠΈ OutputConnection.


Π’Π°Π±Π»ΠΈΡ†Π° 8.2. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ интСрфСйса OutputConnection


Имя ΠΌΠ΅Ρ‚ΠΎΠ΄Π° OutputConnection β€” ОписаниС

DataOutputStream openDataOutputStream () β€” ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ DataOutputStream, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ соСдиняСтся с сСтСвым рСсурсом, связанным с этим соСдинСниСм.

OutputStream openOutputStream () β€” ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ OutputStream, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ соСдиняСтся с сСтСвым рСсурсом, связанным с этим соСдинСниСм.


ΠŸΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹Π΅ соСдинСния

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ StreamConnection происходит нСпосрСдствСнно ΠΈΠ· интСрфСйсов InputConnection ΠΈ OutputConnection. Он наслСдуСт ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π΄Π²ΡƒΡ… интСрфСйсов, описанных Ρ€Π°Π½Π΅Π΅ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… 8.1 ΠΈ 8.2.

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ StreamConnection прСдставляСт соСдинСниС ΠΊΠ°ΠΊ ΠΏΠΎΡ‚ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ абстрактном смыслС слова β€” ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±Π°ΠΉΡ‚ΠΎΠ². Π­Ρ‚ΠΎ пустой интСрфСйс, ΠΎΠ½ Π½Π΅ привносит Π½ΠΎΠ²ΠΎΠ³ΠΎ повСдСния Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ Π»ΡŽΠ±ΠΎΠΌΡƒ ΠΈΠ· Π΅Π³ΠΎ Π΄Π²ΡƒΡ… Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰ΠΈΡ… интСрфСйсов. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π΅Π³ΠΎ присутствиС Π² ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для Ρ†Π΅Π»Π΅ΠΉ, Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ обязанностСй интСрфСйсов InputConnection ΠΈ OutputConnection. Он Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒ, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ любой Ρ‚ΠΈΠΏ соСдинСния, Ρ‡ΡŒΠΈ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ ΠΊΠ°ΠΊ ΠΏΠΎΡ‚ΠΎΠΊ Π±Π°ΠΉΡ‚ΠΎΠ².

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ StreamConnection ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ΅ соСдинСния β€” ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΌ Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° соСдинСния, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΅Π³ΠΎ синтаксисС ΠΈ сСмантикС. НапримСр, J2ME Wireless Toolkit прСдоставляСт Π΄Π²Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ StreamConnection β€” ΠΎΠ΄Π½Ρƒ для соСдинСния с ΠΏΠΎΡ€Ρ‚Π°ΠΌΠΈ связи, Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ для соСдинСния с сокСтами ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² стиля Unix. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ StreamConnection опрСдСляСт ΠΎΠ±Π° этих Ρ‚ΠΈΠΏΠ° соСдинСния ΠΊΠ°ΠΊ Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π±Π΅Π· опрСдСлСния синтаксиса ΠΈΠ»ΠΈ сСмантики ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°. Π Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹. Π’ Π΄Π°Π½Π½ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΊΠ°ΠΊ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ соСдинСниС с ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌ ΠΏΠΎΡ€Ρ‚ΠΎΠΌ. Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ соСдинСниС сокСта.

БоСдинСния с ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ ΠΏΠΎΡ€Ρ‚Π°ΠΌΠΈ, ΠΊΠ°ΠΊ ΠΈ всС Π΄Ρ€ΡƒΠ³ΠΈΠ΅ соСдинСния, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ установлСны ΠΏΡƒΡ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ URI Π² Connector.open(). Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ адрСс ΠΏΠΎΡ€Ρ‚Π° связи, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ. ПолС схСмы Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ соггап, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ опрСдСляСт соСдинСниС ΠΊΠ°ΠΊ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠ΅ соСдинСниС для ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΏΠΎΡ€Ρ‚ΠΎΠ². Полная Ρ„ΠΎΡ€ΠΌΠ° адрСса ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ:


address:= <схСма>:<уэСл>;

<ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹> cheme:= Β«coramΒ»

unit:= <integer, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΏΠΎΡ€Ρ‚ eomn>

parameters:= <зависящиС ΠΎΡ‚ устройства ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ>


НапримСр, Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ соСдинСниС с ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌ ΠΏΠΎΡ€Ρ‚ΠΎΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°:

StreamConnection conn = Connector.open("comm:0;baudrate=9600");

ΠŸΠΎΠ»Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΡ‹, зависит ΠΎΡ‚ Ρ€ΠΎΠ΄Π½ΠΎΠΉ систСмы ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° устройства, ΠΈ, Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ счСтС, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π½Π° устройствС, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ соСдинСниС Π±Ρ‹Π»ΠΎ установлСно.


БоСдинСния содСрТимого соСдинСний

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ContentConnection дополняСт интСрфСйс StreamConnection. Он уточняСт понятиС ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ соСдинСния. Он опрСдСляСт соСдинСния, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠ΅ содСрТимоС, вмСсто прСдставлСния ΠΈΡ… ΠΊΠ°ΠΊ простого ΠΏΠΎΡ‚ΠΎΠΊΠ° Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… Π±Π°ΠΉΡ‚ΠΎΠ² ΠΈΠ»ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠ°, Ρ‡ΡŒΡ структура Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Π° ΠΊΠ°ΠΊ приоритСтная (priori).

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, всС ΠΏΠΎΡ‚ΠΎΠΊΠΈ содСрТат Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° «содСрТимоС», основная Ρ†Π΅Π»ΡŒ сообщСний ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² транспортировкС ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. ИдСя, лСТащая Π² основС интСрфСйса ContentConnection, Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ прСдставляСт соСдинСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ своС содСрТимоС Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ наличия Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΌΠ΅Ρ‚Π°ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠΌ. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ContentConnection прСдоставляСт ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠΈ этой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ· ΠΏΠΎΡ‚ΠΎΠΊΠ°, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½Π΅ придСтся Π·Π½Π°Ρ‚ΡŒ синтаксис ΠΈΠ»ΠΈ сСмантику ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.