2013-05-21 42 views
8

Tôi sắp bắt đầu một dự án cho một khách hàng có nhiều dữ liệu cần phải có thời gian thực.Hỗ trợ cho Websockets trên Android

Có hai ứng dụng dành cho thiết bị di động mà tôi sẽ xây dựng với trigger.io, cũng như giao diện người dùng web và tất cả những ứng dụng này cần phải được đồng bộ hóa.

Tôi định sử dụng triển khai WebSocket của socket.io với phần phụ trợ Node.js của tôi cho ứng dụng webapp & dành cho thiết bị di động. Điều này sẽ hoạt động tốt trên iOS và các trình duyệt web hiện đại.

Tuy nhiên, chế độ xem web của Android không hỗ trợ websockets. Và nó sẽ đơn giản phá hủy kế hoạch dữ liệu của người dùng ứng dụng dành cho thiết bị di động nếu socket.io sử dụng dự phòng bỏ phiếu dài trên Android.

Tôi đã tự hỏi: liệu có khả năng triển khai Java WebSockets cho trigger.io Android, sau đó phơi bày điều đó với WebView không? Có simple implementation cho phonegap

Tôi cho rằng tôi có thể viết plugin trigger.io cho nó - nhưng tôi muốn chắc chắn trước khi tôi chuyển sang dự án này nếu điều này khả thi/không quá khó để viết plugin.

Tôi đã sử dụng trigger.io từ lâu rồi, nhưng không phải vì tất cả các fanciness đều xuất hiện như các plugin gốc.

+0

Tôi đang sử dụng API JS của Pusher trong ứng dụng trigger.io. Nó hoạt động tốt trên iOS và Android (trở lại 2.3). Bạn đã cân nhắc điều gì đó như Meteor hay Derby? – Meirion

+0

Tôi biết nó sẽ hoạt động, nhưng tôi tự hỏi về hiệu quả của cuộc thăm dò ý kiến ​​dài trên kế hoạch dữ liệu của người dùng. –

+0

@AndyJoslin, bạn đã làm gì? Cảm ơn! –

Trả lời

4

Nếu sử dụng giải pháp dự phòng HTTP không phải là tùy chọn (tôi sẽ thực hiện một số tính toán để xác định xem giải pháp phát trực tuyến hoặc bỏ phiếu dài có thực sự "hủy gói dữ liệu của người dùng di động") hay không hỗ trợ có lẽ sẽ là một plugin trigger.io.

Tại Pusher, chúng tôi đã sử dụng trình bao bọc Java trong PhoneGap để thư viện JavaScript của chúng tôi hoạt động. Tuy nhiên chúng tôi đã thêm vào dự phòng HTTP vì vậy tôi sẽ không khuyên bất kỳ ai sử dụng điều này ngay bây giờ. Dự án ở đây: https://github.com/pusher/pusher-phonegap-android

Vấn đề với trình bao bọc Java ở đây (chúng tôi sử dụng websocket-android-phonegap) là nó không hỗ trợ kết nối SSL (nếu tôi nhớ chính xác) và nó chưa được cập nhật trong một thời gian dài.

Với ý nghĩ đó khi chúng tôi tạo ra Pusher Java library (hỗ trợ Android), chúng tôi đã sử dụng ứng dụng WebSocket ở Java-WebSocket vì nó đang được tích cực phát triển và hỗ trợ các kết nối SSL. Tôi muốn giới thiệu nó.

Tôi muốn được nghe về sự hỗ trợ mà https://github.com/mkuklis/phonegap-websocket cung cấp.

+0

Bạn nói đúng, tôi đã đoán với việc bỏ phiếu dài là 'siêu ác' - tôi sẽ xem xét nó nhiều hơn! Và cảm ơn cho liên kết thư viện java pusher, tôi sẽ xem xét nó. –

+0

Phát trực tuyến HTTP sẽ hiệu quả hơn khi kết nối trực tuyến được duy trì và không mở/đóng khi kết nối với tính năng bỏ phiếu dài. – leggetter

+0

tuyệt vời! Tôi nhìn nó ... thậm chí còn không biết nó hoạt động như thế nào, haha. Tôi nghĩ rằng bỏ phiếu dài là "gửi một yêu cầu HTTP mỗi X giây để kiểm tra tình trạng máy chủ '- nhưng nó khác nhau rất nhiều .. –