PDA

View Full Version : برنامه نویسی سوکت



arman202020
چهارشنبه 10 تیر 1394, 13:59 عصر
سلام
من یه مشکل دارم که ممنون میشم دوستان کمکم کنید
من یک دستگاه ردیاب اتوماتیک خودرو یا به اختصار AVL دارم و میخواهم به سرور خودمون وصل کنم.
من برنامه ای به شکل زیر نوشنه ام و تنظیمات دستگاه را هم روی این Port و IP گذاشته ام و این صفحه PHP را به صورت ساده در مرورگر اجرا میکنم و برنامه با کمی مشکلات در زمان گرفتن اطلاعات مثلا نوسان در گرفتن و ... کار میکند و اطلاعات را دریافت میکند.
اما بعد از مدت کوتاهی برنامه دیگر کار نمیکند و پورت بسته میشود.
من Port را هم در فایروال باز گذاشتم و حتی فایروال را هم غیر فعال کردم اما باز مشکل حل نشد.
در حال حاضر ما از بهترین سرورهای دتیکیت liquidweb استفاده میکنیم و واقعا نمیدانم ایا باید تنظیمات بخصوصی برای فعال کردن پورت فعال شود یا نه؟
در ضمن دستگاه را هم روی یک سرور چینی اما با ASP تست کردیم و دستگاه هیچ مشکلی نداشت.

/* @author Arman Abl @copyright 2015 */ignore_user_abort();set_time_limit(0);// set some variables$host = "xxx.xxx.xxx.xxx";$port = 8888;// create socket$socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socket\n");// bind socket to port$result = socket_bind($socket, $host, $port) or die("Could not bind to socket\n");// start listening for connections$result = socket_listen($socket) or die("Could not set up socket listener\n");while(true){ // accept incoming connections // spawn another socket to handle communication $spawn = socket_accept($socket); if(!$spawn){ continue; } // read client input $input = socket_read($spawn, 335544 ); if(!$input){ continue; } // clean up input string $input = trim($input);
$load = file_get_contents('test.txt'); file_put_contents('./test.txt',$load."[".date("d M Y G:i:s" , time())."]Message : ".$input."\n"); //$output = "ok"; //socket_write($spawn, $output, strlen ($output)) or die("Could not write output\n");}// close socketssocket_close($spawn);socket_close($socket);