هدف از این برنامه این است که برای کنترل سخت افزار از راه دور مانند آردوینو، 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؛
}
تاریخ بهروزرسانی
۴ فروردین ۱۳۹۵