اترنت اتوماسیون صفحه اصلی eHouse از شما اجازه می دهد به طور خودکار ارسال یک وضعیت broadcastu UDP (پروتکل دادهای کاربر) , که می تواند تمام دستگاه های موجود در LAN خود و یا WiFi و IP شرط دریافت – موجود در ماسک های محلی 255 . 255 . 255 . 0 , است که پخش کردن وضعیت آدرس های IP از کنترل 192 . 168 . 0 . X . پخش UDP به شما اجازه می دهد تا غیر فعال کردن وضعیت دانلود از مشتری TCP / IP , که نیاز به اتصال به کنترلر . پخش UDP یک پروتکل بدون اتصال است , برای داده های انتشار و بدون در نظر گرفتن شماره از دستگاه دریافت می کند بیشتر CPU و یا لینک های شبکه را بار نیست .
پخش UDP ساده تابع پذیرش با تلفن های هوشمند , پنل ها و قرص آندروید زیر نشان داده شده است .
از این رو یک حلقه بی نهایت بر اساس این تابع , شما نیاز به ایجاد یک موضوع (تاپیک) در پس زمینه کار , دادن به آن را به پایین ترین اولویت کار .
وگرنه , اعدام این تابع جلوگیری از اعدام از فعالیت های دیگر این برنامه .
منبع کد برای دریافت UDP پخش پلت فرم آندروید:
عمومی از درجه اعتبار ساقط بی سیم (بندر بین المللی) / / پارامتر پورت را انتخاب کنید تا به طور پیش فرض پخش 6789 – وضعیت در کنترل باینری
{
بایت [] broadcastadr = بایت [4] ;
بایت [] localadr = بایت [4] ;
WifiManager فای (WifiManager) getSystemService (بافت . WIFI_SERVICE) ; / / مدیر فای
DhcpInfo DHCP = فای . getDhcpInfo () ; / / دریافت اطلاعات از DHCP فای
اگر (DHCP == تهی) / / دریافت مقدار پیش فرض غیر فعال است اگر شبکه DHCP از eHouse از
{/ / بدون DHCP و یا یک خطا برای دستگاه
broadcastadr [0] = (BYTE) 192 ;
broadcastadr [1] = (BYTE) 168 ;
broadcastadr [2] = (BYTE) 0 ;
broadcastadr [3] = (BYTE) 255 ;
}
دیگری / / DHCP
{
پخش هوشمند (DHCP . IPAddress و ; ; DHCP . نقاب شبکه) | ~ DHCP . نقاب شبکه ; / / برای پخش بی سیم – اگر شما می خواهید برای پخش داده ها بر عملکرد
کنترل دریافت وضعیت
(از نوع int k = 0 ; K < ; 4 ; K + +) broadcastadr [K] = (بایت) ((پخش> ; > ; K * 8) و ; برابر 0xFF) ;
محلی اعضای هیات = (DHCP . ipaddress) ; / / آدرس آی پی محلی DHCP
(از نوع int k = 0 ; K < ; 4 ; K + +) localadr [K] = (بایت) ((محلی> ; > ; K * 8) و ; برابر 0xFF) ; / / برای آدرس آی پی محلی
}
امتحان
{
DS = جدید DatagramSocket (پورت) ; / / / گوش دادن بر روی اطلاعات پورت UDP از هر آی پی
در درون یک ماسک – بی سیم سوکت برای ایجاد یک نمونه از شماره پورت محلی
}
گرفتن (E استثنا)
{
/ / Ehousecommunication . L ( ” خطا در INET: دریافت آدرس ” + E . getMessage ()) ; برای تست
}
امتحان
{
DS . setBroadcast (واقعی) ; / / فعال کردن ارسال پیام پخش – برای انتقال
DS . setReuseAddress (واقعی) ; / / فعال کردن سوکت های متعدد استفاده از همان آدرس IP
/ / DS . setSoTimeout (400) ; / / پذیرش ایست
}
گرفتن (به استثنا یو)
{/ / نادیده گرفتن اشتباهات، اما ما در برابر نرم افزار و خطاهای سیستم محافظت می کند
}
/ / * بی سیم پخش TEST – broadcastu آزمون بی سیم پخش از طریق تلفن و یا رایانه لوحی خود را – ارتباط در آینده با استفاده از
/ * سعی کنید
{
DatagramPacket DD = DatagramPacket جدید ( ” سلام کلام از TEST UPD آندروید ” . getBytes () , 0 , ” سلام کلام از TEST UPD آندروید ” . طول () ,
InetAddress . getByAddress (broadcastadr) , پورت) ;
DS . ارسال (DD) ; / / می فرستد DatagramPacket
}
گرفتن (E استثنا)
{
ehousecommunication . L ( ” انتقال بسته دادهای خطا: ” + E . getMessage ()) ;
}
* /
MulticastLock ML = فای . createMulticastLock ( ” چندپخشی قفل فعال ” ) ;
/ / ایجاد یک نمونه از بلوک چندپخشی و broadcastu
میلی لیتر . بدست آوردن () ; / / چندپخشی قفل فعال بی سیم دریافت پخش – برخی از گوشی های هوشمند آندروید می توان آن را برای اهداف صرفه جویی در batery غیر فعال شده –
پشتیبانی UDP فعال broadcastu تلفن اگر آن را قفل شده است و تنها از کار افتاده
در حالی که (! ehousecommunication . خاتمه دادن) / / حلقه بی نهایت برای دریافت بی سیم
{/ / حلقه نامتناهی دریافت وضعیت بی سیم
DatagramPacket DP = جدید DatagramPacket (پیام , پیام . طول) ; / / ایجاد بافر بسته UDP دیتاگرام با استفاده از داده – بسته UDP استفاده می کند
بافر ” پیام ”
سعی کنید
DS . دریافت (DP) ; / / دریافت بسته بی سیم از سیستم eHouse – دریافت بسته پورت UDP UDP سوکت
اگر (DP . getLength ()> ; 0) / / اگر به اندازه بسته بزرگتر از صفر – چیزی را دریافت
{
EhouseTCP . QueryBuff = DP . getData () ; / / اختصاص یک پخش بی سیم recepition querybuffer – لود شده به eHouse از وضعیت بافر
/ / DP . setLength (0) ; – اندازه بسته صفر تا مبادا به پردازش داده های مشابه بارها و بارها
EhouseTCP . QueryReceived () ; / / رمزگشایی آرایه های داده پرس و جو و پر کردن دستگاه – رمزگشایی از وضعیت کنترل و بارهای نرم افزار جدول وضعیت
}
}
گرفتن (به استثنا سیستم عامل)
{/ / نادیده گرفتن خطاها
/ / Ehousecommunication . L ( ” asdfasdfsafsa ” + سیستم عامل . getMessage ()) ; / / برای آزمون تنها
}
}
میلی لیتر . آزادی () ; / / چندپخشی قفل بی سیم رایگان برای پذیرایی از برنامه eHouse از – آزاد چندپخشی قفل
DS . نزدیک () ; / / بستن سوکت دیتاگرام در پایان – بسته سوکت در پایان
}
قفل چندپخشی ممکن است در برخی از دستگاه های آندروید مورد نیاز .
UDP پخش محلی در مورد گوشی های تلفن همراه می تواند فعال باشد و یا بر روی سیستم عامل تلفن همراه بسته به نوع .
همچنین می تواند به طور دائم برای صرفه جویی در باتری و به دلایل ایمنی غیر فعال و یا به منظور کاهش بار CPU بر روی شبکه در محل کار .
(توجه داشته باشید که پیکربندی کرنل: CONFIG_IP_MULTICAST تنظیم نشده است) .
بعلاوه , بعضی از مدل ها می توانند در فایروال های محلی مسدود شده است و نیاز به فعال کردن انتقال بر روی یک پورت داده شده (به طور پیش فرض 6789) .
خارج پخش در هنگام اتصال به اینترنت با استفاده از GPRS , EDGE , 3G , 4G را می توان و یا توسط اپراتور شبکه قفل شده و قفل . بیشتر , اما , باید انتظار داشت , که در آن ثابت است به منظور به حداقل رساندن استفاده از لینک .
در برخی از مدل های گوشی های تلفن همراه , نرم افزار وضعیت پیاده سازی از کنترل دریافت UDP می تواند بسیار دشوار و یا حتی غیر ممکن . ممکن است نیاز به استفاده از niebrandowanego سیستم عامل خاص و یا گوشی های هوشمند .
بعلاوه , باید دقت شود که upgradowaniu افزار و بررسی کنید که تمام ویژگی های در حال کار به درستی خارج از جعبه , در غیر این صورت تشخیص از اشتباهات بسیار دشوار خواهد بود .
بر اساس برخی از گوشی های HTC و سایر محصولات که شامل نسخه سیستم عامل آندروید کمتر از 2 . 3 . 3 مشاهده کل یک بلوک UDP پذیرش و broadcastu .
این نسخه از آندروید (2 بود . 1 – 2 . 3 دوره از 01 . 01 . 2010 – 14 . 06 . 2011)
اگر شما می توانید UDP broadcastu دانلود و نصب را دریافت نمی , نسخه جدید اندروید ROM حداقل از 2 . 3 . (3 روز 14 ژوئن , 2011) , که آزمایش صحت کار بار پخش UDP .
کرنل نسخه 2 . 6 . 35 . 10 – htcg3ef43272 – هسته @ and18 – 2 # 1 .
بدون . 3software . 14 . 405 . 1 .
برای علامت های تجاری دیگر از تلفن های همراه با مشکلات مشابه , دانلود نرم افزار آندروید رام از تولید کننده , نسخه ای از حداقل 2 . 3 . 3 .
همچنین توجه داشته باشید ویژگی های ضروری از بسته های UDP .
آنها ناهمزمان و نیاز به مطالعه در مورد آنچه که ممکن است باعث شود داده خوانده اشتباهات , از دست دادن آنها (حذف) , به ویژه با تجهیزات آهسته , لینک , ترکیب بار بالا و CPU اشغال تلفن های هوشمند و قرص .
داده های بی سیم وضعیت در کنترلی مجهز برای بررسی اعتبار داده ها .
صفحه اصلی تولید کننده اتوماسیون eHouse از اتوماسیون صفحه اصلی eHouse از
کنترل eHouse از – اتوماسیون صفحه اصلی eHouse از