eHouse கட்டிடம் தன்னியக்கமாக்கல் அமைப்பு – அண்ட்ராய்டு மென்பொருள் UDP வழியாக கட்டுப்பாட்டு நிலை பெற

ஈதர்நெட் முகப்பு ஆட்டோமேஷன் eHouse நீங்கள் தானாக ஒரு நிலை broadcastu UDP (பயனர் டேட்டாகிராம் நெறிமுறை) அனுப்ப அனுமதி , நிலைமை திருப்தி உங்கள் LAN அல்லது WiFi மற்றும் ஐபி அனைத்து சாதனங்களை பெற முடியும் – உள்ளூர் முகமூடி 255 காணப்படும் . 255 . 255 . 0 , நிலை 192 கட்டுப்பாட்டு ஐபி முகவரிகள் ஆஃப் ஒளிபரப்பு இது . 168 . 0 . x . UDP ஒலிபரப்பு நீங்கள் TCP / IP வாடிக்கையாளரின் பதிவிறக்க நிலை செயல்நீக்க அனுமதிக்கிறது , கட்டுப்படுத்தி ஒரு இணைப்பு தேவை . UDP ஒலிபரப்பு தொடர்பில்லா நெறிமுறையாகும் , இனப்பெருக்கம் தரவு மற்றும் பொருட்படுத்தாமல் பெற்று சாதனங்கள் எண்ணிக்கை மேலும் CPU அல்லது பிணைய இணைப்புகள் ஏற்ற இல்லை .
ஸ்மார்ட்போன்கள் மூலம் எளிய UDP ஒலிபரப்பு வரவேற்பு விழா , பேனல்கள் மற்றும் அண்ட்ராய்டு மாத்திரைகள் கீழே உள்ள .
எனவே இந்த செயல்பாடு அடிப்படையில் ஒரு முடிவிலா சுழற்சியில் உள்ளது , நீங்கள் ஒரு நூல் (THREAD) பின்னணி தொழிலாள உருவாக்க வேண்டும் , இது குறைந்த முன்னுரிமை வேலை கொடுக்கும் .
இல்லையெனில் , இந்த செயல்பாடு செயல்பாட்டை திட்டத்தை மற்ற நடவடிக்கைகள் மரணதண்டனை தடை .
UDP ஒலிபரப்பு Android மேடையில் பெற மூல குறியீடு:
பொது வெற்றிடத்தை udp (int துறைமுக) / முன்னிருப்பு அழைத்துவர / அளவுரு துறைமுக 6789 ஒளிபரப்பு – பைனரி கட்டுப்படுத்தி உள்ள நிலை
{
பைட் [] broadcastadr = புதிய பைட் [4] ;
பைட் [] localadr = புதிய பைட் [4] ;
WifiManager WiFi = (WifiManager) getSystemService (சூழல் . WIFI_SERVICE) ; / / வைஃபை மேலாளர்
DhcpInfo dhcp = WiFi . getDhcpInfo () ; / / WiFi dhcp இருந்து தகவல் பெறவும்
(DHCP == பூஜ்ய) / / முன்னிருப்பு மதிப்பு கிடைக்கும் செயலிழந்து விட்டால் என்றால் eHouse ஒரு DHCP வலையமைப்பு
{/ / இல்லை dhcp அல்லது சாதனம் ஒரு பிழை
broadcastadr [0] = (பைட்) 192 ;
broadcastadr [1] = (பைட்) 168 ;
broadcastadr [2] = (பைட்) 0 ;
broadcastadr [3] = (பைட்) 255 ;
}
வேறு / / DHCP
{
ஒலிபரப்பு = எண்ணாக (DHCP . IPADDRESS & ; ; dhcp . நெட்மாஸ்க்) | ~ dhcp . நெட்மாஸ்க் ; Udp ஒளிபரப்பு செய்ய / / – நீங்கள் செயல்பாட்டை தரவு ஒளிபரப்பு விரும்பினால்
கட்டுப்படுத்தி மட்டுமே நிலை பெறுகிறது
(int k = 0 ; k < ; 4 ; k +) broadcastadr [k] = (பைட்) ((ஒளிபரப்பு> ; > ; கே * 8) & ; 0xFF) ;
உள்ளூர் எண்ணாக = (DHCP . IPADDRESS) ; / / உள்ளூர் ஐபி முகவரி DHCP
(int k = 0 ; k < ; 4 ; k +) localadr [k] = (பைட்) ((உள்ளூர்> ; > ; கே * 8) & ; 0xFF) ; / / உள்ளூர் ஐபி முகவரியை
}
முயற்சி
{
DS = புதிய DatagramSocket (துறைமுகம்) ; / / / எந்த IP இருந்து UDP போர்ட் தரவு Listening
ஒரு முகமூடியை உள்ளே – udp சாக்கெட் உள்ளூர் போர்ட் எண் ஒரு உதாரணமாக உருவாக்க
}
பிடிக்க (விதிவிலக்கு இ)
{
/ / Ehousecommunication . எல் ( ” பிழை inet: விலாசத்தை ” + E . getMessage ()) ; சோதனை
}
முயற்சி
{
DS . setBroadcast (உண்மையான) ; / / ஒளிபரப்பு செய்தி அனுப்புக இயக்கு – பரிமாற்றத்திற்காக
DS . setReuseAddress (உண்மையான) ; / / பல சாக்கெட் அதே ஐபி முகவரியை பயன்படுத்த இயக்கு
/ / Ds . setSoTimeout (400) ; / / வரவேற்பு முடிதல்
}
பிடிக்க (விதிவிலக்கு io)
{/ / பிழைகள் புறக்கணி ஆனால் நாம் பயன்பாடு மற்றும் கணினி பிழைகள் எதிராக பாதுகாக்க
}
/ / * UDP ஒலிபரப்பு டெஸ்ட் – broadcastu சோதனை udp உங்கள் தொலைபேசி அல்லது மாத்திரை இருந்து ஒளிபரப்பு – பயன்பாடு எதிர்கால தகவல்
/ * முயற்சி
{
DatagramPacket திகதி = புதிய DatagramPacket ( ” அண்ட்ராய்டு UPD டெஸ்ட் இருந்து வணக்கம் வார்த்தை ” . getBytes () , 0 , ” அண்ட்ராய்டு UPD டெஸ்ட் இருந்து வணக்கம் வார்த்தை ” . நீளம் () ,
InetAddress . getByAddress (broadcastadr) , போர்ட்) ;
DS . அனுப்ப (திகதி) ; / / ஒரு DatagramPacket அனுப்பும்
}
பிடிக்க (விதிவிலக்கு இ)
{
ehousecommunication . எல் ( ” டேட்டாகிராம் பாக்கெட் பிழை அனுப்புகிறது: ” + E . getMessage ()) ;
}
* /
MulticastLock மில்லி = WiFi . createMulticastLock ( ” பல்பரப்பல் செயல்படுத்தப்பட்ட பூட்டு ” ) ;
/ / தடுப்பு பல்பரப்பல் மற்றும் broadcastu ஒரு எடுத்துக்காட்டாக உருவாக்கவும்
மில்லி . ) (பெற ; / / மல்டிகேஸ்ட் பூட்டை இயக்கு udp ஒலிபரப்பு வரவேற்பு – இது batery சேமிப்பு நோக்கங்களுக்கான சில அண்ட்ராய்டு ஸ்மார்ட்போன்கள் முடக்கப்பட்டுள்ளது –
அது பூட்டப்பட்டுள்ளது மட்டுமே முடக்கப்பட்டுள்ளது என்றால் broadcastu UDP ஆதரவு தொலைபேசி செயல்படுத்தி
அதே நேரத்தில் (! ehousecommunication . Udp வரவேற்பு) முறித்து / / முடிவிலா சுழற்சி
Udp நிலை பெற்று {/ / முடிவிலா சுழற்சி
DatagramPacket dp = புதிய DatagramPacket (செய்தி , செய்தி . நீளம்) ; / / UDP டேட்டாகிராமின் பாக்கெட் இடையக தரவு பயன்படுத்தி உருவாக்கவும் – UDP பாக்கெட் பயன்படுத்த செய்கிறது
தாங்குவதற்கு ” செய்தி ”
முயற்சி {
DS . பெறும் (DP) ; EHouse முறை / / UDP பாக்கெட் வரவேற்பு – UDP பாக்கெட்டை UDP போர்ட் ஒரு சாக்கெட் பெறுகிறது
நீங்கள் (DP . getLength ()> ; 0) / / பூச்சிய விட பொட்டலங்கள் அளவு அதிகமாக இருந்தால், – ஏதாவது பெற்றார்
{
EhouseTCP . QueryBuff = DP . getData () ; / / ஒரு UDP ஒலிபரப்பு recepition querybuffer ஒதுக்கு – தாங்கல் நிலை eHouse ஏற்றப்பட்டவுடன்
/ / DP . setLength (0) ; – பாக்கெட் அளவு மிகவும் என திரும்ப திரும்ப அதே தரவு செயல்படுத்த முடியாது பூஜ்ஜியத்திற்கு அமைக்கப்படுகிறது
EhouseTCP . QueryReceived () ; / / கேள்வி தரவு வரிசைகள் டிகோட் மற்றும் சாதனங்களை பூர்த்தி – கட்டுப்படுத்திகள் மற்றும் சுமைகள் பயன்பாட்டு நிலை அட்டவணையில் decodes நிலை
}
}
பிடிக்க (விதிவிலக்கு OS)
{/ / பிழைகள் புறக்கணி
/ / Ehousecommunication . எல் ( ” asdfasdfsafsa ” + ஓஸ் . getMessage ()) ; / / சோதனை மட்டும்
}
}
மில்லி . வெளியீடு () ; EHouse விண்ணப்பத்தை வரவேற்பு / / மல்டிகேஸ்ட் udp பூட்டு இலவச – பூட்டு பல்பரப்பல் வெளியிடுகிறது
DS . ) (மூட ; / / இறுதியில் டேட்டாகிராமின் சாக்கெட் மூடு – இறுதியில் சாக்கெட் மூடி
}
பல்பரப்பல் பூட்டு சில அண்ட்ராய்டு சாதனங்களை தேவை .
மொபைல் தொலைபேசிகள் வழக்கில் உள்ளூர் ஒலிபரப்பு UDP செயல்படுத்தப்படும் அல்லது மொபைல் தொலைபேசி தளநிரல் பொறுத்து முடியாது .
இது நிரந்தரமாக பேட்டரி சேமிப்பு மற்றும் பாதுகாப்பு காரணங்களுக்காக முடக்கப்பட்டுள்ளது அல்லது வேலை நெட்வொர்க்கில் CPU சுமையை குறைப்பதற்காக .
(கர்னல் கட்டமைப்பு குறிப்பு: CONFIG_IP_MULTICAST அமைக்கப்படவில்லை) .
மேலும் , சில மாதிரிகள் ஒரு உள்ளூர் ஃபயர்வால் தடை மற்றும் ஒரு குறிப்பிட்ட துறை (முன்னிருப்பு 6789) விநியோகிக்கவும் செயல்படுத்த வேண்டும் .
ஜிபிஆர்எஸ் இணைய இணைப்புகளை பயன்படுத்தும் போது ஒலிபரப்பு வெளியே , எட்ஜ் , 3G , 4G நெட்வொர்க் ஆபரேட்டர் மூலம் பூட்டி அல்லது திறக்கப்பட்டது . அடிக்கடி , ஆயினும் , எதிர்பார்க்கப்படுகிறது , அதை இணைப்பு பயன்பாட்டை குறைக்க சரி என்று .
மொபைல் போன்கள் சில மாதிரிகள் , UDP பெற்று கட்டுப்பாட்டு மென்பொருள் செயல்படுத்த நிலை மிகவும் கடினமாக இருக்கலாம் அல்லது முடியாததாகவும் இருக்கலாம் . சிறப்பு மென்பொருள் niebrandowanego அல்லது ஸ்மார்ட்போன் பயன்பாடு தேவைப்படலாம் .
மேலும் , upgradowaniu மென்பொருள் மற்றும் அனைத்து அம்சங்கள் அவுட் பெட்டியின் ஒழுங்காக வேலை என்பதை சரிபார்த்து போது கவனித்து கொள்ள வேண்டும் , இல்லையெனில் பிழைகள் கண்டறிய மிகவும் கடினமாக இருக்கும் .
2 விட அண்ட்ராய்டு இயக்க முறைமை பதிப்பு கீழ் உள்ள சில HTC தொலைபேசிகள் மற்றும் பிற பொருட்களை அடிப்படையாக . 3 . 3 ஒரு மொத்த தொகுதி UDP வரவேற்பு broadcastu அனுசரிக்கப்பட்டது .
இந்த Android பதிப்பு (2 இருந்தார் . 1 – 2 . 01 காலம் 3 . 01 . 2010 – 14 . 06 . 2011)
நீங்கள் UDP broadcastu பதிவிறக்கி நிறுவ பெற முடியாது , குறைந்தபட்ச 2 புதிய அண்ட்ராய்டு ரோம் பதிப்பு . 3 . 3 (ஜூன் 14 , 2011) , எந்த வேலை சுமை UDP ஒலிபரப்பு சரியான சோதனை .
கர்னல் பதிப்பு 2 . 6 . 35 . 10 – htcg3ef43272 – கர்னல் @ and18 – 2 # 1 .
இல்லை . 3software . 14 . 405 . 1 .
இதே போன்ற பிரச்சினைகளை தொலைபேசிகள் மற்ற பிராண்டுகளுக்கு , உற்பத்தியாளர்களிடம் இருந்து நிலைபொருள் அண்ட்ராய்டு ரோம் பதிவிறக்கவும் , குறைந்தது 2 பதிப்பு . 3 . 3 .
மேலும் UDP பாக்கெட்டுகள் அடிப்படை பண்புகளை கவனத்தில் .
அவர்கள் ஒத்தியங்கா மற்றும் தரவு பிழைகள் வாசிக்க ஏற்படுத்தும் பற்றி படித்து தேவை , அவர்களின் இழப்பு (உதிர்தல்) , குறிப்பாக மெதுவாக உபகரணம் , இணைப்புகள் , அதிக சுமை மற்றும் CPU ஆக்கிரமிப்பு ஸ்மார்ட்போன்கள் மற்றும் மாத்திரைகள் இணைக்க .
Udp நிலை தரவு தரவு ஏற்புடைமையை சோதிக்க செக்சம் உள்ள equiped .
முகப்பு ஆட்டோமேஷன் தயாரிப்பாளர் eHouse முகப்பு ஆட்டோமேஷன் eHouse
eHouse கட்டுப்படுத்திகளின் – முகப்பு ஆட்டோமேஷன் eHouse