2009-09-15 34 views
6

Đọc về Máy chủ đẩy here.
Tôi muốn đẩy dữ liệu đến ứng dụng khách từ ứng dụng web của mình trong thời gian thực.
Tôi đang xem cổng TCP là một trong các tùy chọn.
Đối với HTTP tôi đã tìm thấy một loạt các khung công tác cho Java, PHP, Python và các khuôn khổ khác trên here. Tuy nhiên tôi không biết liệu có hỗ trợ nào trong số các hỗ trợ này không.Thực hiện Máy chủ Đẩy

  • Bạn có thể chọn các tùy chọn và khuôn khổ nào đề xuất triển khai Đẩy máy chủ?
  • Bạn sẽ chủ trương ngôn ngữ nào để thực hiện cùng một lý do và tại sao?
+2

Một khuôn khổ không "hỗ trợ" push..all push là một yêu cầu dài với một giấc ngủ trong đó định kỳ gửi (đẩy) cập nhật cho khách hàng. Tôi nghĩ rằng có hay không khuôn khổ hỗ trợ nó không phải là mối quan tâm cho bạn. – ryeguy

+0

@ryeguy: Việc triển khai ổ cắm TCP có hiệu quả hơn việc bỏ phiếu dài HTTP không. –

+1

Bạn vẫn phải thực hiện yêu cầu HTTP, giả sử bạn chỉ sử dụng HTML cơ bản (trái ngược với flash nơi bạn có thể sử dụng ổ cắm thực tế). Nhưng nếu bạn có nghĩa là xây dựng máy chủ của riêng bạn để chấp nhận các loại yêu cầu này, vâng, nó tốt hơn. Facebook xây dựng máy chủ sao chổi của họ trong erlang để trò chuyện của họ. – ryeguy

Trả lời

3

Tôi đang sử dụng quay quanh ngay bây giờ, điều đó thật tuyệt!

Nếu bạn đang trò chuyện hoặc sử dụng loại đăng ký sử dụng stompservice và quay quanh.

Nếu bạn đang thực hiện 1 đến 1 việc sử dụng ánh xạ khách hàng TCPSocket.

Tôi có thể cung cấp cho bạn một số ví dụ mã nếu bạn muốn.

+0

Việc triển khai của tôi có nhiều khách hàng kết nối với máy chủ của tôi và họ sẽ được kết nối có thể cho ngày .. sẽ TCP Sockets được tốt hơn ở đây nếu như vậy khung/công nghệ bạn sẽ khuyên bạn nên? –

+0

Khách hàng có cần giao tiếp với nhau không? Các ổ cắm TCP rất đẹp nếu máy chủ của bạn gửi dữ liệu được điều chỉnh cho máy khách thay vì các máy khách gửi dữ liệu giữa chúng hoặc máy chủ phát dữ liệu mà khách hàng đăng ký. Đối với các trường hợp trên sử dụng Orbited/STOMP/MorbidQ. Nếu không, TCPSocket là tốt đẹp và bạn chỉ cần viết các công cụ ổ cắm phía máy chủ theo cách thủ công. Tùy thuộc vào độ phức tạp của những gì máy chủ của bạn cần làm Tôi đã nghe nói về những người sử dụng xoắn để làm một số việc nâng trần trên ổ cắm, nhưng tôi chưa làm điều đó. – DevDevDev

+0

Điều tốt đẹp về ổ cắm là bạn có thể viết máy chủ bằng bất kỳ ngôn ngữ nào bạn muốn. Cá nhân tôi có xu hướng sử dụng Orbited + Python + Django hoạt động thực sự độc đáo đối với tôi. – DevDevDev

1

Tôi tin rằng triển khai xmpp là ứng dụng đang được nhiều công ty lớn sử dụng nhưng điều phổ biến là sử dụng máy chủ sao chổi.

rất nhiều triển khai trong python cho phép bạn có thể google xung quanh.

3

Làm thế nào về Orbited, nó rất tốt và được sử dụng bởi Echowaves

+0

Vì Orbited mở ổ cắm TCP trên máy chủ web, tôi có phải sử dụng VPS cho nó không? .. Nếu tôi đang sử dụng shared hosting, có lẽ máy chủ web có thể không cho phép mở ổ cắm và chạy ... –

3

Sao chổi là giao thức bạn muốn. Thực hiện Comet nào là tốt nhất, là một cuộc gọi khó hơn.

Nếu bạn OK với Java (hoặc, tôi đoán, Jython), hoặc NET (nơi IronPython là một khả năng), tôi nghi ngờ (không có rộng rãi thử tất cả -!) Mà stream hub phải là lớn ứng cử viên. Đó là một sản phẩm "freemium" điển hình - bạn có thể nhận được phiên bản miễn phí (như trong bia miễn phí;), hoặc bạn có thể dùng thử phiên bản Web đắt tiền, hoặc phiên bản Enterprise thậm chí còn đắt hơn; so sánh tính năng là here (ví dụ: phiên bản miễn phí: không có https, không quá 10 người dùng đồng thời, không có .NET).

+0

Comet có hoạt động hay HTTP không? Bất kỳ sao chổi nào như triển khai trên các cổng TCP? –

+1

Có, Comet dựa trên các yêu cầu HTTP được giữ lâu, mà theo đó tất nhiên chạy trên đỉnh các cổng TCP. Xem ví dụ http://en.wikipedia.org/wiki/Comet_(programming) vì rất cơ bản. –

+1

Bạn có thấy so sánh tốt về triển khai Comet serverside không? Tôi hiện đang chơi với http://cometdproject.dojotoolkit.org/ –

0

Bạn đã thử StreamHub Push Server chưa?

+0

Không thực sự, Alex Martelli đã đề cập đến điều này trong bài viết của mình ... nhưng phiên bản miễn phí chỉ cho phép 10 người dùng đồng thời ... đúng không? –

2

Cá nhân tôi thiên vị, nhưng tôi thích WebSync, for IIS/.NET. Nó tích hợp với IIS, vì vậy không cần phần mềm máy chủ nào khác, chỉ cần một dll để thêm vào dự án của bạn.

+0

@Downvoter - lý do? – jvenema

3

Ok, tôi đang sử dụng ASP.NET với PokeIn thư viện comet ajax trong dự án của tôi. Ngoài ra, tôi đã thử Atmosphere trong JAVA .. Lựa chọn cuối cùng của tôi là PokeIn .. Bởi vì, chỉ hỗ trợ máy chủ đẩy không giải quyết được vấn đề. Bạn sẽ cần một số loại máy khách để tuần tự hóa đối tượng máy chủ và quản lý thời gian cuộc sống đối tượng. PokeIn đã đáp ứng tất cả những nhu cầu này cho tôi.

Các vấn đề liên quan