100+
ດາວໂຫຼດ
ປະເພດເນື້ອຫາ
ທຸກຄົນ
ຮູບໜ້າຈໍ
ຮູບໜ້າຈໍ
ຮູບໜ້າຈໍ
ຮູບໜ້າຈໍ
ຮູບໜ້າຈໍ

ກ່ຽວກັບແອັບນີ້

ຈຸດປະສົງຂອງ app ນີ້ແມ່ນເພື່ອຄວບຄຸມຮາດແວຫ່າງໄກສອກຫຼີກເຊັ່ນ: Arduino, Netduino, Raspberry Pi ...
ອະນຸສັນຍາ TCP / IP (Client).

ເຖິງ: 0, ພະລັງງານ, 0
DOWN: 0, -POWER, 0
ຊ້າຍ: -POWER, ພະລັງງານ, 0
ຂວາ: ພະລັງງານ, ພະລັງງານ, 0
MIDDLE: 0, 0, 0 ເປັນ 0, 0, ພະລັງງານ (Zero ການເຄື່ອນໄຫວ)

Mode Byte: 3 ຕໍາແຫນ່ງມີການໂອນເປັນ 3 ​​bytes (default)
ຮູບແບບ ASCII: 3 ຕໍາແຫນ່ງມີການໂອນເປັນຂໍ້ຄວາມ seperated ດ້ວຍເຄື່ອງຫມາຍຈຸດ (ສິ້ນສຸດລົງດ້ວຍ \ n)
inactive Session: ລະບົບສາຍສົ່ງໃນການເຊື່ອມຕໍ່ Serated ແຕ່ລະ
ກອງປະຊຸມການເຄື່ອນໄຫວ: ການເຊື່ອມຕໍ່ທີ່ບໍ່ເຄີຍປິດ, ແຕ່ຖ້າຫາກວ່າມີຄວາມຈໍາເປັນດະອັດຕະໂນມັດ (default)
ສູນ inactive: ບໍ່ມີຜົນຕອບແທນກັບຄຸນຄ່າສູນຫຼັງຈາກການປ່ອຍ
ສູນການເຄື່ອນໄຫວ: ຜົນຕອບແທນອັດຕະໂນມັດກັບຄຸນຄ່າສູນຫຼັງຈາກການປ່ອຍ

ລະຫັດຕົວຢ່າງສໍາລັບການເຄື່ອງແມ່ຂ່າຍຂອງກ່ຽວກັບ 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"

ຄວາມຜິດພາດ void (const char * msg)
{
    perror (msg)
    ການທ່ອງທ່ຽວ (1)
}

int main (int argc, char * argv [])
{
    int sockfd, newsockfd, portno, n;
    socklen_t clilen;
    char buffer [256]
    struct serv_addr sockaddr_in, cli_addr;
    
    sockfd = socket (AF_INET, SOCK_STREAM, 0);
    ຖ້າຫາກວ່າ (sockfd <0)
         ຄວາມຜິດພາດ ( "ຄວາມຜິດພາດ socket ເປີດ");

    bzero ((char *) & 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)
    ຖ້າຫາກວ່າ (bind (sockfd, (struct sockaddr *)
           ແລະ Serv_addr, sizeof (serv_addr)) <0)
                ຄວາມຜິດພາດ ( "ຄວາມຜິດພາດກ່ຽວກັບການຜູກມັດ");

    ໃນຂະນະທີ່ (1)
    {
         ຟັງ (sockfd, 5)
         clilen = sizeof (cli_addr)
         newsockfd = ຍອມຮັບ (sockfd, (struct sockaddr *)
               ແລະ Cli_addr, ແລະ clilen)
         ຖ້າຫາກວ່າ (newsockfd <0)
               ຄວາມຜິດພາດ ( "ຜິດພາດທີ່ສຸດຍອມຮັບ");

         ໃນຂະນະທີ່ (1)
         {
               bzero (buffer, 256);
               n = ອ່ານ (newsockfd, ກັນ, 3)
               ຖ້າຫາກວ່າ (n <3)
               {
                     ຄວາມຜິດພາດ ( "ຄວາມຜິດພາດການອ່ານຈາກ socket");
                     ທໍາລາຍ;
               }

               float tmp1 = (float) buffer [0]
               ຖ້າຫາກວ່າ (tmp1> 127)
                     tmp1 - = 256

               float tmp2 = (float) buffer [1]
               ຖ້າຫາກວ່າ (tmp2> 127)
                      tmp2 - = 256

               ເລື່ອນ TMP3 = (float) buffer [2]
               ຖ້າຫາກວ່າ (TMP3> 127)
                      TMP3 - = 256

               printf ( "% d% d% d \ n", (int) tmp1, (int) tmp2, (int) TMP3)
         }
         ໃກ້ (newsockfd)
     }
     ໃກ້ (sockfd)
     ກັບຄືນ 0
}
ອັບເດດແລ້ວເມື່ອ
23 ມ.ນ. 2016

ຄວາມປອດໄພຂອງຂໍ້ມູນ

ຄວາມປອດໄພເລີ່ມດ້ວຍການເຂົ້າໃຈວ່ານັກພັດທະນາເກັບກຳ ແລະ ແບ່ງປັນຂໍ້ມູນຂອງທ່ານແນວໃດ. ວິທີປະຕິບັດກ່ຽວກັບຄວາມເປັນສ່ວນຕົວ ແລະ ຄວາມປອດໄພຂອງຂໍ້ມູນອາດຈະແຕກຕ່າງກັນອີງຕາມການນຳໃຊ້, ພາກພື້ນ ແລະ ອາຍຸຂອງທ່ານ. ນັກພັດທະນາໃຫ້ຂໍ້ມູນນີ້ ແລະ ອາດຈະອັບເດດມັນເມື່ອເວລາຜ່ານໄປ.
ບໍ່ໄດ້ໄດ້ແບ່ງປັນຂໍ້ມູນກັບພາກສ່ວນທີສາມ
ສຶກສາເພີ່ມເຕີມ ກ່ຽວກັບວ່ານັກພັດທະນາປະກາດການແບ່ງປັນຂໍ້ມູນແນວໃດ
ບໍ່ໄດ້ເກັບກຳຂໍ້ມູນ
ສຶກສາເພີ່ມເຕີມ ກ່ຽວກັບວ່ານັກພັດທະນາປະກາດການເກັບກຳຂໍ້ມູນແນວໃດ
ມຸ່ງໝັ້ນປະຕິບັດນະໂຍບາຍຄອບຄົວຂອງ Play