eHouse বিল্ডিং অটোমেশন সিস্টেম – অ্যানড্রইড সফ্টওয়্যার এর ফলে UDP মাধ্যমে কন্ট্রোলার অবস্থা প্রাপ্ত

ইথারনেট হোম অটোমেশন eHouse আপনি স্বয়ংক্রিয়ভাবে একটি অবস্থা broadcastu ফলে UDP (ইউজার ডাটাগ্রামের প্রোটোকল) পাঠাতে পারবেন , যা আপনার সকল ল্যান বা ওয়াইফাই ও IP শারীরিকভাবে পরিতৃপ্ত ডিভাইস পেতে পারেন – স্থানীয় মাস্ক 255 খুঁজে পাওয়া যায়নি . 255 . 255 . 0 , বন্ধ করে দেওয়া সম্প্রচার কন্ট্রোলার 192 IP ঠিকানা অবস্থা হয় . 168 . 0 . x . এর ফলে UDP সম্প্রচার আপনি করে TCP / IP ক্লায়েন্ট ডাউনলোড অবস্থা অথবা নিষ্ক্রিয় করা যাবে , যা নিয়ামক একটি সংযোগ প্রয়োজন . এর ফলে UDP সম্প্রচার একটি connectionless প্রোটোকল , জন্য প্রসারণ তথ্য এবং নির্বিশেষে প্রাপ্তির ডিভাইস সংখ্যা আরো CPU-র বা নেটওয়ার্ক সংযোগগুলি লোড না .
সহজ ফলে UDP স্মার্টফোনের সঙ্গে সম্প্রচারের অভ্যর্থনা ফাংশন , প্যানেল এবং অ্যান্ড্রয়েড ট্যাবলেট নিম্নে দেখানো হল .
সুতরাং এই ফাংশন ভিত্তিতে অসীম লুপ , আপনি একটি থ্রেড (THREAD) ব্যাকগ্রাউন্ডে কাজ তৈরি করতে হবে , দান সর্বনিম্ন অগ্রাধিকার কাজ .
অন্যথায় , এই ফাংশন কার্যকর প্রোগ্রামের অন্যান্য কার্যক্রম কার্যকর অবরোধ .
এর ফলে UDP সম্প্রচার Android প্ল্যাটফর্ম প্রাপ্তির জন্য সোর্স কোড:
পাবলিক অকার্যকর udp (int-পোর্ট) / / পরামিতির ডিফল্ট পোর্ট নিতে 6789 সম্প্রচার – বাইনারি নিয়ামক মধ্যে অবস্থা
{
বাইট [] broadcastadr = নতুন বাইট [4] ;
বাইট [] localadr = নতুন বাইট [4] ;
WifiManager ওয়াইফাই = (WifiManager) getSystemService (প্রসঙ্গের . WIFI_SERVICE) ; / / ওয়াইফাই পরিচালক
DhcpInfo = dhcp ব্যবহার করা হবে ওয়াইফাই . getDhcpInfo () ; / / ওয়াইফাই dhcp ব্যবহার করা থেকে তথ্য পান
যদি (dhcp ব্যবহার করা হবে == নাল) / / ডিফল্ট মান পেতে অক্ষম হয় যদি DHCP-র দ্বারা নেটওয়ার্ক eHouse সারাংশ
{/ / Dhcp ব্যবহার করা হবে না অথবা ডিভাইসের জন্য একটি ত্রুটি
broadcastadr [0] = (বাইট) 192 ;
broadcastadr [1] = (বাইট) 168 ;
broadcastadr [2] = (বাইট) 0 ;
broadcastadr [3] = (বাইট) 255 ;
}
অন্যথায় / / DHCP-র দ্বারা
{
ব্রডকাস্ট = int-(dhcp ব্যবহার করা হবে . IPAddress & ; ; dhcp ব্যবহার করা হবে . নেটমাস্ক) | ~ dhcp ব্যবহার করা হবে . নেটমাস্ক ; Udp সম্প্রচারের জন্য / / – আপনি যদি ফাংশন ডেটা সম্প্রচার চাই
শুধুমাত্র নিয়ামক অবস্থা প্রাপ্ত
জন্য (int ট = 0 ; ট < ; 4 ; ট +) broadcastadr [ট] = (বাইট) ((> সম্প্রচার ; > ; ট * 8) ; 0xFF) ;
স্থানীয় int = (dhcp ব্যবহার করা হবে . ipaddress) ; / / স্থানীয় আইপি ঠিকানা dhcp ব্যবহার করা হবে
জন্য (int ট = 0 ; ট < ; 4 ; ট +) localadr [ট] = (বাইট) ((স্থানীয়> ; > ; ট * 8) ; 0xFF) ; / / জন্য স্থানীয় আইপি ঠিকানা
}
চেষ্টা
{
ds = নতুন DatagramSocket (পোর্ট) ; / / UDP পোর্ট ডেটা / কোন আইপি থেকে শুনছেন
ভিতরে একটি মাস্ক – udp সকেট স্থানীয় পোর্ট নম্বর একটি দৃষ্টান্ত তৈরি
}
(ব্যতিক্রম ঙ) আঁকড়ি
{
/ / Ehousecommunication . l ( ” ত্রুটি inet: ঠিকানা পেতে ” + E . getMessage ()) ; জন্য পরীক্ষা
}
চেষ্টা
{
ds . setBroadcast (সত্য) ; / / সম্প্রচারের বার্তা পাঠাতে সক্ষম করুন – জন্য ট্রান্সমিশন
ds . setReuseAddress (সত্য) ; / / সকেট একই সক্ষম একাধিক IP ঠিকানা ব্যবহার
/ / Ds . setSoTimeout (400) ; / / রিসেপশন সময়সীমার
}
(ব্যতিক্রম IO) আঁকড়ি
{/ / ত্রুটি উপেক্ষা কিন্তু আমরা আবেদন এবং ত্রুটিগুলি সিস্টেম রক্ষা
}
/ / * UDP সম্প্রচারের পরীক্ষা – broadcastu পরীক্ষা udp আপনার ফোন বা ট্যাবলেট থেকে ব্রডকাস্ট – প্রয়োগের সাথে ভবিষ্যতে যোগাযোগ
/ * চেষ্টা
{
DatagramPacket dd = নতুন DatagramPacket ( ” অ্যানড্রইড UPD পরীক্ষা থেকে হ্যালো শব্দ ” . getBytes () , 0 , ” অ্যানড্রইড UPD পরীক্ষা থেকে হ্যালো শব্দ ” . দ্বারা () ,
InetAddress . getByAddress (broadcastadr) , পোর্ট) ;
ds . (dd) পাঠান ; / / একটি DatagramPacket পাঠালে
}
(ব্যতিক্রম ঙ) আঁকড়ি
{
ehousecommunication . l ( ” ডাটাগ্রামের প্যাকেট প্রেরণ করতে ত্রুটি: ” + E . getMessage ()) ;
}
* /
MulticastLock মিলি = ওয়াইফাই . createMulticastLock ( ” মাল্টিকাস্ট সক্রিয় লক ” ) ;
/ / ব্লক মাল্টিকাস্ট এবং broadcastu একটি দৃষ্টান্ত তৈরি করুন
মিলি . (অর্জন) ; / / মাল্টিকাস্ট লক সক্ষম udp সম্প্রচারের অভ্যর্থনা – এটা batery সঞ্চয় উদ্দেশ্যসমূহ জন্য কিছু অ্যানড্রইড স্মার্টফোনের করা যাবে অক্ষম –
এর ফলে UDP broadcastu ফোন সমর্থন সক্রিয় করে যদি এটি লক এবং শুধুমাত্র নিষ্ক্রিয় করা হয়
সময় (! ehousecommunication . ) বিনষ্ট / udp রিসেপশনের জন্য / অসীম লুপ
{/ / অসীম লুপ udp অবস্থা প্রাপ্তির
DatagramPacket DP = নতুন DatagramPacket (বার্তা , বার্তা . দ্বারা) ; / / UDP ডাটাগ্রামের প্যাকেট বাফার তথ্য ব্যবহার করে তৈরি করুন – এর ফলে UDP প্যাকেট ব্যবহার করে
অপদার্থ লোক ” বার্তা ”
{চেষ্টা
ds . (DP) প্রাপ্ত ; / / UDP eHouse সিস্টেম থেকে প্যাকেট অভ্যর্থনা – এর ফলে UDP প্যাকেট UDP পোর্ট একটি সকেট পায়
যদি (DP . getLength ()> ; 0) / / যদি শূন্য তুলনায় পার্সেল বৃহত্তর আকার – কিছু পেয়েছি
{
EhouseTCP . QueryBuff = DP . getData () ; / / একটি udp সম্প্রচারের recepition querybuffer বরাদ্দ – বাফার অবস্থা eHouse মধ্যে লোড করা
/ / Dp . setLength (0) ; – প্যাকেট মাপ হিসাবে যাতে একই তথ্য না প্রক্রিয়া বারংবার যাও শূন্য সেট করা হয়
EhouseTCP . QueryReceived () ; / / কোয়েরি তথ্য অ্যারে এবং ডিকোড ডিভাইস ভরাট – decodes কন্ট্রোলার এবং লোড আবেদন অবস্থা টেবিল অবস্থা
}
}
(ব্যতিক্রম OS) আঁকড়ি
{/ / ত্রুটি উপেক্ষা করুন
/ / Ehousecommunication . l ( ” asdfasdfsafsa ” + Os . getMessage ()) ; / / জন্য শুধুমাত্র পরীক্ষা
}
}
মিলি . রিলিজ (২) ; / / মাল্টিকাস্ট UDP লক মুক্ত eHouse আবেদন রিসেপশনের জন্য – লক মাল্টিকাস্ট রিলিজ
ds . (বন্ধ) ; / / শেষে ডাটাগ্রামের সকেট বন্ধ করুন – শেষে সকেট প্রচেষ্টা
}
মাল্টিকাস্ট লক কিছু Android ডিভাইসের মধ্যে প্রয়োজনীয় হতে পারে .
স্থানীয় মোবাইল ফোনের ক্ষেত্রে এর ফলে UDP সম্প্রচার সক্রিয় করা যাবে তার উপর নির্ভর করে মোবাইল ফোন ফার্মওয়্যার না .
এটা করা যাবে ব্যাটারি স্থায়ীভাবে সংরক্ষণ করার জন্য এবং নিরাপত্তার কারণে অক্ষম অথবা কর্মক্ষেত্রে ব্যবহৃত নেটওয়ার্কের মধ্যে CPU 'র উপর চাপের পরিমাণ হ্রাস করুন .
(কার্নেল কনফিগারেশন উল্লেখ্য: CONFIG_IP_MULTICAST সেট না করা হয়) .
উপরন্তু , কিছু মডেলের একটি স্থানীয় ফায়ারওয়াল দ্বারা অবরুদ্ধ করা হবে এবং একটি প্রদত্ত পোর্ট (ডিফল্ট 6789) উপর ট্রান্সমিশন সক্রিয় করার প্রয়োজন হতে পারে .
বাইরের সম্প্রচার জিপিআরএস যখন ইন্টারনেট সংযোগ ব্যবহার করে , প্রান্ত , 3G , 4 জি নেটওয়ার্ক অপারেটর লক বা আনলক করা যাবে . প্রায়ই আরো , কিন্তু , আশা করা উচিত , এটা করার জন্য লিঙ্কটি ব্যবহার হ্রাস করা সংশোধন করা হয়েছে .
মোবাইল ফোনের কিছু মডেল , এর ফলে UDP প্রাপ্তির কন্ট্রোলার সফটওয়্যার বাস্তবায়নের অবস্থা খুব কঠিন বা অসম্ভব এমনকি হতে পারে . বিশেষ ফার্মওয়্যার niebrandowanego বা স্মার্টফোনের ব্যবহার করার প্রয়োজন হতে পারে .
উপরন্তু , যত্ন যখন upgradowaniu ফার্মওয়্যার এবং যে সমস্ত বৈশিষ্ট্য আউট বাক্সের কাজ সঠিকভাবে পরীক্ষা করা আবশ্যক , অন্যথায় ত্রুটি নির্ণয়ের খুব কঠিন হবে .
কিছু HTC ফোন এবং অন্যান্য পণ্য ধারণকারী Android অপারেটিং সিস্টেমের সংস্করণ 2 কম তার উপর নির্ভর করে . 3 . 3 মোট ব্লক ফলে UDP অভ্যর্থনা broadcastu নিরীক্ষিত .
এই ছিল Android সংস্করণ (2 . 1 – 2 . 01 এর সময়সীমার 3 . 01 . 2010 – 14 . 06 . 2011)
আপনি যদি এর ফলে UDP broadcastu ডাউনলোড এবং ইনস্টল না পেতে পারেন , গেম অ্যানড্রইড সর্বনিম্ন 2 ROM-র সংস্করণ . 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