Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > ขอสอบถามการทำงานแบบ Real time ของเว็บ http://www.worldometers.info/ หน่อยคับ



 

ขอสอบถามการทำงานแบบ Real time ของเว็บ http://www.worldometers.info/ หน่อยคับ

 



Topic : 122003



โพสกระทู้ ( 157 )
บทความ ( 0 )



สถานะออฟไลน์




ไม่ทราบการ update แบบ Real time ของเว็บ http://www.worldometers.info/ เขาใช้ อะไรเหรอคับ ผมลองทดสอบดูคือ host ยังทำงานได้สบาย ๆ ไม่มีปัญหาอะไรเลย และข้อมูลก็อัพเดตแบบถี่มาก แทบจะ วินาทีต่อวินาทีเลย



Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2016-03-18 16:46:01 By : sompon01 View : 1801 Reply : 17
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

อาศัยเทคนิคที่ผมก็อยากจะรู้เหมือนกัน และประสิทธิ์ภาพของ Server






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-18 21:27:38 By : mr.win
 


 

No. 2



โพสกระทู้ ( 157 )
บทความ ( 0 )



สถานะออฟไลน์


แล้วตกลงเขาใช้อะไร 555+
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-19 10:18:56 By : sompon01
 

 

No. 3



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


ไม่เกินนี้หรอกครับ
Code (JavaScript)
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<script src="jquery-2.2.1.js"></script>
<script>
var current = new Array(0,0,0,0,0,0,0,0,0,0);
var target = new Array(0,0,0,0,0,0,0,0,0,0);
var b;
$(document).ready(function(){
	b = $('b'); 
	$.each(b, function(idx, ele){
		var x = parseInt($(ele).html());
		current[idx]=x ; target[idx]=x;
	});
	setInterval( function(){ 
		$.ajax({ url: 'getnew.php', type: 'POST', data:{data: target}}).done(function(msg){  target = $.parseJSON(msg); });
	}, 1000);

	setInterval( function(){
		for(var i=0; i<10; i++){
			if( target[i]>current[i]){
				current[i]++; $(b).eq(i).html(current[i]);
			}
			$('i').eq(i).html(target[i]);
		}
	}, 5);
})
</script>
</head>
<body>
<b><?=($x=time())?></b><i></i><br><b><?=$x?></b><i></i><br>
<b><?=$x?></b><i></i><br><b><?=$x?><i></i><br><b><?=$x?></b><i></i><br>
<b><?=$x?></b><i></i><br><b><?=$x?><i></i><br><b><?=$x?></b><i></i><br>
<b><?=$x?></b><i></i><br><b><?=$x?></b><i></i><br>
</body>
</html>


getnew.php
Code (PHP)
<?php
$x= $_POST['data'];
echo json_encode( array(
	$x[0]+rand( 0,200),
	$x[1]+rand( 0,200),
	$x[2]+rand( 0,200),
	$x[3]+rand( 0,200),
	$x[4]+rand( 0,200),
	$x[5]+rand( 0,200),
	$x[6]+rand( 0,200),
	$x[7]+rand( 0,200),
	$x[8]+rand( 0,200),
	$x[9]+rand( 0,200),
));



ประวัติการแก้ไข
2016-03-19 10:50:37
2016-03-19 10:52:33
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-19 10:36:19 By : Chaidhanan
 


 

No. 4

Guest


ใช้ setInterval ก็ผิดเต็มๆ แหละครับ

เราว่าไม่น่าใช่ setInterval ให้รัน ajax ทุกๆ 1000 มิลลิเซก หรอกนะ

จะทำ app realtime เราใช้ microsoft signalr

ก็อย่างว่าแหละ เราก็ไม่เคยลองกับ php ซะด้วย เคยใช้ทำ .net api (mvc)

ให้พวก mobile app ซึ่งตัว signalr เองก็สามารถทำ webapp แบบ realtime ได้

เช่น เว็บที่มีระบบ chat แต่ไม่แน่ใจว่าต้อง .net เท่านั้นหรือเปล่า
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-21 12:26:42 By : ห้ามตอบเกินวันละ 2 กระทู้
 


 

No. 5



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

สุดยอดจริง ๆ ครับ => SignalR

http://www.asp.net/signalr

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-21 16:29:40 By : mr.win
 


 

No. 6



โพสกระทู้ ( 68 )
บทความ ( 0 )



สถานะออฟไลน์


ต้อง set interval time แหละคับ แบบคุณลุง Chaidhanan บอก พวก .ืnet ก็อาจจะใช้วิธีแบบนี้เหมือนกัน การทำงานเบื้องหลังเราไม่รู้หรอกครับ ว่ามันทำงานยังไง

http://stackoverflow.com/questions/4576769/grabbing-data-from-mysql-using-php-realtime
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-23 17:46:21 By : newalway
 


 

No. 7

Guest


ตอบความคิดเห็นที่ : 6 เขียนโดย : newalway เมื่อวันที่ 2016-03-23 17:46:21
รายละเอียดของการตอบ ::
ไม่เหมือนเฟ้ย ไปเอามั่นใจแบบนี้มาจากไหน

ไม่รู้ไม่ต้องรีบตอบก็ได้ นี่แสดงว่าไม่ได้ไปอ่านเลยว่ามันทำงานยังไง

http://www.asp.net/signalr/overview/getting-started/introduction-to-signalr

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-24 08:51:13 By : ห้ามตอบเกินวันละ 2 กระทู้
 


 

No. 8



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

SignalR คือ ทางเลือกหนึ่งที่น่าสนใจมากครับ ตอนนี้ผมกะจะเอามาทำเป็นระบบ Chat กับ Notification
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-24 09:38:49 By : mr.win
 


 

No. 9



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


เหมือน หรือ ไม่เหมือน ไม่ใช่ประเด็นสำคัญ แค่ทำงานได้ และตัวเองถนัดอย่างไหนก็ใช้อย่างนั้นครับ
เพราะมันมีหลายอย่างในการ ส่ง prcess queue ให้ window ทำงาน

มันมี device หลายอยา่งที่ ส่ง event ออกมา ทำให้เรา register process queue กับ window ได้

ก็เลือกเอาตามใจชอบครับ

signair ก็เป็นทางเลือกที่ดี มีคนเขียนมาให้ใช้ ก็ใช้กันไปครับ
ใครอยากจะจมดักดานอยู่กับโค๊ดเก่าๆ แบบผม ก็ใช้กันไป ขอให้ใช้แล้วหาเงินเข้ากระเป๋าได้ก็พอ

ร้านข้างบ้านเขาขายข้าวลาดแกง แกงเก่าๆ วนไปวนมาอยู่อย่างนั้น
เขาก็ยังขายได้ หาเงินเลี้ยงลูกจบ doctor ได้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-24 10:42:34 By : Chaidhanan
 


 

No. 10

Guest


ก็ไม่แน่ ถ้าตีลังกาขาย ก็อาจจะรวยเละก็ได้ ใครจะไปรู้

การทำงานแบบไหน มันอยู่ที่สัญญา ตกลงกันยังไง

ก็ว่าไม่ตามที่เขียน ถ้าเกิดพลาดเขียนไม่ละเอียด

แล้วคนทำทำไม่ได้ตามที่หวังไว ก็คงทำอะไรไม่ได้

แต่ถ้าเป็นเราต้องการ app realtime แล้วใช้ set interval time

แล้วในสัญญาเขียนไว้ว่าต้องเป็น real realtime จริงๆ ก็คงให้ผ่านไม่ได้

ให้ผ่านไปคนตรวจรับซวย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-24 12:40:26 By : ห้ามตอบเกินวันละ 2 กระทู้
 


 

No. 11



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


ถ้าคุณคิดว่าคำว่า realtime ตามที่คุณว่า ก็ตามนั้นครับ

แต่สำหรับผม ผมไม่เคยเห็น คอมพิวเตอร์ ทำงานแบบ realtime 100% ครับ
ก็อยู่ที่ว่าคนจ้างเขาพอใจ ที่ระดับไหน คุยกันรู้เรื่องไหม
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-24 12:57:41 By : Chaidhanan
 


 

No. 12

Guest


ตามความเข้าใจของเรา

loop interval time != realtime lib

loop interval time --> ทำงานเป็นลูป ไม่มี request มันก็ทำ

realtime lib --> ทำงานเมื่อเกิด request เท่านั้น จะ reponse เร็วหรือช้าขึ้นอยู่กับ load ของ server

เคยสังเกต chat ของ mobile app ไหมล่ะ ที่แน่ๆ เขาไม่ได้ใช้ set interval time แน่นอน

realtime mobile app ถ้า web api เป็น .net เป็นเราเราใช้ signalr ทำ

จะให้ chat ระหว่าง web <-> web หรือ web <-> mobile ก็ใช้โค้ดเดียวกัน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-24 14:01:51 By : ห้ามตอบเกินวันละ 2 กระทู้
 


 

No. 13



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


ผมก็ไม่ได้ว่าอะไรไงครับ ก็ใครจะเข้าใจยังไง

ทุกอย่างมันมีข้อจำกัดของการ รอคอย

จะใช้ loop วน ทำ เสร็จ แล้วไป เริ่มใหม่
หรือจะ settimer มันก็อยู่ที่งาน อยู่ที่หน้าเพจ ตัวอย่างที่ผมทำ
มันแค่เป็นการ แสดงข้อมูลที่ไม่ได้ต้องการความละเอียดมากขนาดนั้น

ขนาดการ ใช้ video conference ยังมีการ delay ซึ่งผู้ใช้ ก็ย่อมรู้ถึง traffic ที่เกิดขึ้น ก็ยอมรับกันได้
แล้วจะไป กำหนด requirement อะไรให้มันทำงานไม่ได้ขนาดนั้นครับ

และการวนลูป ทำเสร็จไปทำงานต่อ ถ้าช่วงรอข้อมูลนานๆ
มันก็จะวนไปเรื่อยๆ ก็จะใช้พลังงานฟรี แบนด์วิดฟรีไป
เอามาใช้กับการแสดงข้อมูล ที่อาจจะไม่มีข้อมูลอะไรเกิดขึ้น ก็คงไม่เหมาะ

ทุกอย่างมันก็อยู่ที่งานที่ทำ ต้องการอะไร
และเอาเข้าจริงๆ อาจจะใช้ทั้งสองวิธี ทำงานร่วมกัน ก็ยังได้

ไอ้ที่ วนลูปรอก็รอไป ไอ้ที่ตังเวลาก็ตั้งไป

อ้าวเพื่อน ตอนนี้ไม่ว่างมาคุยตอน 1ทุ่ม นะ
จะรันโปรแกรมรอมันก็ใช่ที่เซท timer มันซะเลย
ถึงเวลาก็popup เปิดหน้าจอเอง อัตตโนมัต

ก็อยู่ที่เราผู้เขียนจะเขียนอะไรเท่านั้ัน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-24 14:26:44 By : Chaidhanan
 


 

No. 14

Guest


ไม่รู้ อ่านแล้วงง ไม่รู้ต้องการจะสื่ออะไร

รู้แต่ว่าถ้าจะทำ app realtime อย่าใช้ set interval time วนลูป

เพราะมันคนละเรื่องกันเลย ใช้แทนกันไม่ได้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-24 15:27:49 By : ห้ามตอบเกินวันละ 2 กระทู้
 


 

No. 15



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


ผมก็ไม่รู้ว่าคุณจะห้ามคนอื่นไปทำไม ในเมื่อมันทำได้ในระดับที่เขาพอใจ

แค่ยอมรับข้อจำกัด ได้ขนาดไหนเท่านั้น ถ้างานมันออกมาใช้ได้ มันก็คือได้

คุณอาจจะมองว่ามันคนละเรือง แต่ผมมองว่ามันเรื่องเดียวกัน
โค๊ดที่ผมทำเป็นตัวอย่าง ผมคำนึงถึง performance ถ้าทำ loop ทุกตัว โอเค มัน realtime
แต่ performance มันเสีย bandwidth มันใช้เยอะ แต่ถ้าเรา หน่วงเวลาได้
ไม่ต้องวนลูป ตลอดเวลา มันก็ลดระดับการเชื่อมต่อลง ลด bandwidth
ความเร็วการทำงานของเครื่อง ทั้งสองฝั่งก็จะดีขึ้น ตัว timer ก็สามารถ +/- ได้ตามความเหมาะสม

มันไม่มีอะไรตายตัวหรอกครับในการเขียนโปรแกรม สำหรับผมขอให้งานมันเสร็จเป็นที่พอใจของผู้จ้างก็พอ

อย่าง mysql ก็เหมือนกัน ผมแค่แนะนำ ให้ใช้ mysqli เพราะใหม่กว่า ง่ายกว่า สำหรับคนหัดใหม่
หรือแม้แต่เจ้าของเซิฟเปิดใหม่ แต่ถ้าเขาไม่เปลี่ยน ก็ไม่ใช่ความผิดเพราะมันใช้งานได้
ในเมื่อสภาพแวดล้อมของ server เขาทำได้
ลูกค้าของผมเป็นใหญ่ครับ ถ้าต่อรองไม่ได้ก็ตามใจลูกค้า
ถ้าเสนอแนะไม่ได้ ก็แล้วแต่ลูกค้า ไม่หือไม่อือ แค่จ่ายเงินให้ตามที่ตกลงกันก็พอใจ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-24 16:10:41 By : Chaidhanan
 


 

No. 16

Guest


คุณ Chaidhanan ก็ใน No. 3 คุณบอกเองไม่ใช่หรือว่า "ไม่เกินนี้หรอก" พอมีคนอืนบอกว่าไม่ใช่นะยังมีอีกวิธีที่ไม่ต้องใช้ setInterval อยู่อีก
คุณก็ดันบอกว่าแล้วแต่ความพอใจของลูกจ้างนายจ้าง แถมยังประชด "ใครอยากจะจมดักดานอยู่กับโค๊ดเก่าๆ แบบผม ก็ใช้กันไป "

เดียวคุณไปเจอเขียนแบบ real time โดยใช้วิธี Long poll , WebSockets ,WebRTC ,Server-Sent Events ไม่หัวร้อนไปเลยหรือ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-24 17:30:08 By : Guest3
 


 

No. 17



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


ผมไม่ร้อนหรอกครับ จะใช้อะไรก็ใช้กันไป ผมก็บอกแล้ว มันมีหลายวิธี
ผมใช้วิธีนี้ ก็เฉพาะ โจทย์ ข้างบนเท่านั้น ผมก็คงไม่ใช้วิธี loop มันทุกครั้งหรอกครับ
แต่ถ้าเป็น chat ก็ว่าไปอย่าง แต่ก็ต้องมา ตรวจสอบการ คีย์
ถ้ามีการคีย์ข้อมูลที่ห่าง ก็จะเริ่มใส่ timer เข้าไปช่วยอยู่ดี จะได้ลด performance
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-24 18:59:47 By : Chaidhanan
 








Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่