|
|
|
ขอแนวคิดหน่อยครับ ต้องการทำ feed ให้มันไปดึงข้อมูลมาอัตโนมัติทุกครั้งที่เว็บ A มีการอัพเดท |
|
|
|
|
|
|
|
ฝังมัลแวร์ซักตัวครับ ..... อิๆๆ
ถ้าจะให้อัพเดตกันวินาทีต่อวินาที ผมว่าจะเป็นการรบกวนเวบต้นทางมากเกินไปหรือเปล่าครับ
คุณจะไปเพิ่ม traffic ให้เค้าอย่างมหาศาล เดี๋ยวเจ้าของเค้าจะโดนโฮสท์ที่เช่าเรียกเก็บเงินเพิ่มน่ะครับ
หนี่งครั้งต่อ 5 นาทีก็ดูเป็นการไม่รบกวนมากเกินไปน่ะครับ ใช้วิธีตั้ง cronjob เอาครับ (ถ้าฝั่งเราเป็นลินุกซ์เซิร์ฟเวอร์)
รอท่านอื่นมาช่วยกันตอบครับ
|
|
|
|
|
Date :
2014-01-23 17:43:25 |
By :
sakuraei |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คือโจทย์เค้าให้เราดึงข้อมูล json ที่ server เราเองแหละครับ
คือข้อมูลที่ไฟล์นี้มันอัพเดท หมุน ๆๆๆ มีข้อมูลมาเพิ่มอยู่ตลอดเวลา 1 วิมั่ง 3 วิมั่ง 5 วิมั่ง
มีวิธีที่เราจะรู้มั้ยว่าข้อมูลที่ server มันอัพเดทนะ ถ้าเราไม่ส่ง request ไปถามมัน
หรือถ้าต้องส่งไปถามมันตลอด มีวิธีลดให้มันไม่หนัก server มั้ยครับ
ขอบคุณครับ
|
ประวัติการแก้ไข 2014-01-23 17:58:27 2014-01-23 18:00:15 2014-01-23 18:00:28 2014-01-23 18:01:20
|
|
|
|
Date :
2014-01-23 17:57:14 |
By :
เด็กโง่ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ยกเว้นแต่ว่าต้นทางจะส่งข้อมูลมาให้ปลายทางทุกครั้งที่มีการเพิ่มข้อมูลใหม่
นอกเหนือจากนั้นเราต้องส่งรีเควสไปยังต้นทางด้วยตัวเองเท่านั้นล่ะครับ
|
|
|
|
|
Date :
2014-01-23 18:03:36 |
By :
sakuraei |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อย่างนี้ก็ได้ครับ
ทุกๆ ครั้งที่รับข้อมูลมา ให้เอาข้อมูลมา hash เก็บไว้
ถ้าข้อมูลใหม่ hash แล้วค่าต่างกัน ก็แสดงว่ามีการอัพเดต ก็ดำเนินการเลย
แต่ถ้าค่า hash เท่ากัน ก็ไม่ต้องทำอะไร
|
|
|
|
|
Date :
2014-01-23 19:01:42 |
By :
itpcc |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
สรุปว่ายังไงเราก็ต้องส่ง request ไปหามัน เพื่อให้มันส่ง response กลับมา
ผมมีอีกคำถามหนึ่งครับ
คือผมส่ง request ไป แต่ทางนู้นทำการรันวนลูปอยู่ตลอดเวลา ทำให้มันไม่ response กลับมาซักที
Code (PHP)
$url = "http://10.12.3.12/stream/cmdlog.php";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, TRUE );
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,2);
curl_setopt($ch, CURLOPT_USERPWD, 'user:pass');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
ทีนี้ผมควรจะทำยังไงครับ ให้ส่งไปปุ๊ป ตัดเชื่อมต่อ เอาข้อมูลเฉพาะเวลาตอนนั้นมา
|
ประวัติการแก้ไข 2014-01-24 09:53:24
|
|
|
|
Date :
2014-01-24 09:52:49 |
By :
เด็กโง่ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วครับ ใช้ fopen
Code (PHP)
ini_set('user_agent','MSIE 4\.0b2;');
$dh = fopen("http://user:[email protected]/cmdlog.php",'r');
$result = fread($dh,8192);
|
|
|
|
|
Date :
2014-01-24 11:35:44 |
By :
เด็กโง่ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|