30/09/2018, 21:17
[Tò mò + Hỏi] Real time của dạy nhau học dùng gì?
Chào mọi người, mình xem request thì thấy dạy nhau học cứ gửi lên 1 request + sau 25s thì dừng rồi gửi request mới, cứ như thế. Nếu mình click vào topic thì nó hủy luôn rồi lại gửi cái mới. Mình muốn biết thuật toán hay hướng làm. Cái request gửi lên bằng ajax hay gì? Sao nó chờ 25s mà vẫn báo về mã trạng thái 200. Cảm ơn mn đã đọc.
Bài liên quan
diễn đàn dùng long poll đó bạn. Cứ tìm hiểu vè nó là sẽ biết. Còn công dụng thì làm thông báo, cập nhật bài viết mới
à mình có tìm qua long-poll, sao diễn đàn lúc giữ request nó vẫn có status code 200 màu xanh nhỉ. AJAX mình gửi lên toàn màu xám, có kq nó mới xanh @@~
Bạn có thể đọc technical information ở thread này
How discourse stays online (Message Bus, Faye, Long Polling)
Hi, sorry for bad English. I looked at source, but it’s hard to read and understand in big project. But as i understood Discourse using own implementation of communication over (Long polling (only(?))) to represent most actual data to users with...
Reading time: 3 mins
cảm ơn bạn. cái diễn đàn giống y dạy nhau học O.o
Nó là cha đẻ của Discourse mà Discourse là mã nguồn mà diễn đàn dùng.
ra vậy, mình thấy diễn đàn dùng ruby, không biết php khác gì không?
2 ngôn ngữ tất nhiên là khác rồi, PHP mạnh về lĩnh vực khác còn ruby thì vững hơn ở mặt khác. Ở đây Ruby tốt về sự thời gian thực “real time” tương tác các bài viết và thành viên ở mức liên tục ~ nếu làm như vậy ở PHP thì không ổn và có thể không được.
Cảm ơn bác ạ
Có phải là do dùng kỹ thuật này nên khó làm app android hả a hay lý do khác nhể
Nhân tiện cho mình hỏi, đây là nội dung 1 post của dnh, làm thế nào để bóc tách dữ liệu đc? Chẳng thấy có cấu trúc gì cả?
Mỗi một request đều trỏ về mọt json và nó tự động chứ không nhận qua http request, ví dụ với topic này thì là
http://daynhauhoc.com/t/to-mo-hoi-real-time-cua-day-nhau-hoc-dung-gi/27396.json
mình không hiểu lắm :((
Đơn giản mà, nó gửi đến server, id_topic cần lấy là bao nhiêu và server tự chuyển đổi dữ liệu dựa trên json của id topic đó.
–> /t/id.json
cái này khi có request lên server mới tạo hay tạo sẵn bác?
mọi router của ruby on rails xử lý bạn ạ bạn có thể ở bất kỳ url nào và thêm .json sẽ ra dữ liệu json kể cả user ví dụ:
http://daynhauhoc.com/users/dqh.json
chắc là request thì nó mới tạo.
bạn có thể tham khảo quá trình xử lý của nó tại đây: https://github.com/discourse/discourse
Discourse là một Open Source nên yên tâm tha hồ nghiên cứu về nó nhưng phài có kiến thức nhất định về Ruby và đặc biệt là Ruby On Rails
mình vẫn thắc mắc: nếu mình post một bài thì server sẽ update json và các máy khác sẽ nhận đc một json mới từ server, vậy json mới này là toàn bộ trang web hay chỉ là nội dung bài viết (mới) của mình thôi.
mình đọc ruby nhiều chỗ không hiểu, tai mình biết php thôi
Nó không có tạo ra JSON (trừ khi là cache), đơn giản nó tiếp nhận từ Request URI xác định bằng các ROUTER và xuất ra dưới dạng JSON thôi còn về POST thì ta gửi REQUEST POST lên và duyệt.