100+
Спампоўванні
Ацэнка змесціва
Для ўсіх
Здымак экрана
Здымак экрана
Здымак экрана
Здымак экрана
Здымак экрана

Пра гэту праграму

Мэта прыкладання з'яўляецца кантроль аддаленага абсталявання, як Arduino, Netduino, Raspberry Pi ...
Пратакол TCP / IP (кліент).

UP: 0, магутнасць, 0
DOWN: 0, -степени, 0
Злева: -степень, улада, 0
СПРАВА: улада, улада, 0
Сярэдняя: 0, 0, 0 або 0, 0, магутнасць (Нуль актыўны)

Рэжым Байт: 3 пазіцыі перадаюцца як 3 байта (па змаўчанні)
Рэжым ASCII: 3 пазіцыі перадаюцца як тэкст падзеленым коскі (скончылася \ п)
неактыўным Сесія: Кожная перадача ў сувязі Serated
Сесія актыўная: Злучэнне ніколі не закрытая, але пры неабходнасці аўтаматычны RECONNECT (па змаўчанні)
Нуль неактыўным: Няма вяртання да нулявым значэнняў пасля вызвалення
Нуль актыўны: Аўтаматычны вяртанне да нулявым значэнняў пасля вызвалення

Прыклад кода для сервера на Raspberry Pi:

#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "unistd.h"
#include "SYS / types.h"
#include "SYS / socket.h"
#include "netinet / in.h"

пустата памылка (Const сімвал * тзд)
{
    PError (MSG);
    выхад (1);
}

INT галоўны (INT ARGC, сімвал * ARGV [])
{
    INT sockfd, newsockfd, portno, п;
    socklen_t clilen;
    сімвал буфера [256];
    структура sockaddr_in serv_addr, 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);
               калі (п <3)
               {
                     памылка ( "Памылка пры чытанні з сокета");
                     перапынак;
               }

               Паплавок tmp1 = (з якая плавае кропкай) буфер [0];
               калі (tmp1> 127)
                     tmp1 - = 256;

               Паплавок tmp2 = (з якая плавае кропкай) буфер [1];
               калі (tmp2> 127)
                      tmp2 - = 256;

               плаваць TMP3 = (паплавок) буфер [2];
               калі (TMP3> 127)
                      TMP3 - = 256;

               Е ( "% d% d% d \ п", (INT) tmp1, (INT) tmp2, (INT) TMP3);
         }
         блізка (newsockfd);
     }
     блізка (sockfd);
     вяртае 0;
}
Абноўлена
23 сак 2016 г.

Бяспека даных

Бяспека пачынаецца з разумення таго, як распрацоўшчыкі збіраюць і абагульваюць вашы даныя. Спосабы забеспячэння прыватнасці і бяспекі даных залежаць ад выкарыстання праграмы, месца пражывання і ўзросту карыстальніка. Распрацоўшчык даў гэту інфармацыю, але з цягам часу ён можа змяніць яе.
Даныя не абагульваюцца са староннімі арганізацыямі
Даведацца больш пра тое, як распрацоўшчыкі заяўляюць пра абагульванне даных
Даныя не збіраюцца
Даведацца больш пра тое, як распрацоўшчыкі заяўляюць пра збор даных
Выконваецца Сямейная палітыка Play