+۱۰۰
بارگیری‌ها
رده‌بندی محتوا
مناسب برای همه
نماگرفت
نماگرفت
نماگرفت
نماگرفت
نماگرفت

درباره این برنامه

هدف از این برنامه این است که برای کنترل سخت افزار از راه دور مانند آردوینو، Netduino، تمشک پی ...
پروتکل TCP / IP (مشتری) است.

UP: 0، قدرت، 0
DOWN: 0، بخار قدرت، 0
سمت چپ: بخار قدرت، قدرت، 0
راست: قدرت، قدرت، 0
MIDDLE: 0، 0، 0 یا 0، 0، قدرت (صفر فعال)

حالت بایت: 3 موقعیت به عنوان 3 بایت منتقل شده (پیش فرض)
حالت ASCII: 3 موقعیت به عنوان متن جدا شده توسط کاما از هم منتقل شده (به پایان رسید با \ N)
غیر فعال جلسه: هر انتقال در یک اتصال Serated
جلسه فعال: اتصال هرگز بسته، اما اگر دوباره به هم متصل خودکار لازم (پیش فرض)
صفر غیر فعال: بدون بازگشت به ارزش صفر پس از انتشار
صفر فعالیت: بازگشت خودرو به صفر ارزش پس از آزادی

کد نمونه برای یک سرور در تمشک پی:

# شامل "stdio.h"
# شامل "stdlib.h"
# شامل "string.h"
# شامل "unistd.h آن"
# شامل "های sys / types.h"
# شامل "سیستم / socket.h"
# شامل "netinet / in.h"

خطا از درجه اعتبار ساقط (و const char * MSG)
{
    perror (MSG)؛
    خروج (1)؛
}

اعضای هیات تحریریه اصلی (INT تعداد آنها، کاراکتر * argv [])
{
    INT sockfd، newsockfd، portno، N؛
    نوع socklen_t clilen؛
    کاراکتر بافر [256]؛
    ساختار serv_addr sockaddr_in، cli_addr؛
    
    sockfd = سوکت (AF_INET، SOCK_STREAM، 0)؛
    اگر (sockfd <0)
         خطا ( "خطا در باز کردن سوکت")؛

    bzero () (* کاراکتر) و serv_addr، SIZEOF (serv_addr)؛
    portno = 12345؛

    serv_addr.sin_family = AF_INET؛
    serv_addr.sin_addr.s_addr = INADDR_ANY؛
    serv_addr.sin_port = htons (portno)؛
    اگر (اتصال (sockfd، (ساختار sockaddr را *)
           و Serv_addr، SIZEOF (serv_addr)) <0)
                خطا ( "خطا در اتصال")؛

    در حالی که (1)
    {
         گوش دادن به (sockfd، 5)؛
         clilen = SIZEOF (cli_addr)؛
         newsockfd = قبول (sockfd، (ساختار sockaddr را *)
               و Cli_addr، و clilen)؛
         اگر (newsockfd <0)
               خطا ( "خطا در قبول")؛

         در حالی که (1)
         {
               bzero (بافر، 256)؛
               نفر به عنوان خوانده شده (newsockfd، بافر، 3)؛
               اگر (N <3)
               {
                     خطا ( "خطا در خواندن از سوکت")؛
                     شکستن؛
               }

               شناور tmp1 = (شناور) بافر [0]؛
               اگر (tmp1> 127)
                     tmp1 - = 256؛

               شناور tmp2 = (شناور) بافر [1]؛
               اگر (tmp2> 127)
                      tmp2 - = 256؛

               شناور TMP3 = (شناور) بافر [2]؛
               اگر (TMP3> 127)
                      TMP3 - = 256؛

               تابع () printf ( "٪ D٪ D٪ D \ n" با (INT) tmp1، (INT) tmp2، (INT) TMP3)؛
         }
         نزدیک (newsockfd)؛
     }
     نزدیک (sockfd)؛
     بازگشت 0؛
}
تاریخ به‌روزرسانی
۴ فروردین ۱۳۹۵

ایمنی داده

ایمنی با درک اینکه توسعه‌دهندگان چگونه داده‌های شما را جمع‌آوری و هم‌رسانی می‌کنند شروع می‌شود. شیوه‌های حفظ امنیت و حریم خصوصی داده‌ها ممکن است براساس استفاده، منطقه، و سن شما متفاوت باشد. توسعه‌دهنده این اطلاعات را ارائه کرده است و ممکن است آن را درطول زمان به‌روزرسانی کند.
هیچ داده‌ای با طرف‌های سوم هم‌رسانی نمی‌شود
درباره نحوه اعلام هم‌رسانی داده‌ها توسط توسعه‌دهندگان بیشتر بدانید
هیچ داده‌ای جمع‌آوری نمی‌شود
درباره نحوه اعلام جمع‌آوری داده‌ها توسط توسعه‌دهندگان بیشتر بدانید
متعهد است از «خط‌مشی خانواده‌های Play» پیروی کند