2010-08-27 11 views
7

Tôi đang viết một ứng dụng C++ đa nền tảng cần kết nối với máy chủ Exchange và tải xuống thư bằng ActiveSync.Thư viện ActiveSync

Có thư viện nào có sẵn cho ActiveSync (tốt nhất là nguồn mở) không?

Tôi không thể sử dụng API Windows vì chúng sẽ không chạy trong Linux & Mac.

+0

là bạn có thể làm việc này và nếu như vậy bạn có thể chia sẻ những gì giải pháp/cách tiếp cận bạn sử dụng? – mwag

Trả lời

3

Z-Push có thể cung cấp cho bạn sự khởi đầu bạn cần.

+0

vì vậy có ai đã kết thúc bằng cách sử dụng z-push (hoặc bất kỳ lựa chọn thay thế khác được đề cập trong câu trả lời đầu tiên)? dường như không được nói nhiều về chủ đề quan trọng này – abbood

10

Tôi đã từng làm việc với dự án SynCE để hỗ trợ các thiết bị Windows Mobile được kết nối với máy tính để bàn Linux để có thể cung cấp một vài gợi ý.

Bạn có nghĩa là ActiveSync hoặc AirSync không? AirSync là giao thức được sử dụng trong không khí và bởi ActiveSync để thực sự chuyển dữ liệu, ActiveSync là toàn bộ ngăn xếp để đồng bộ hóa thiết bị WinMo được kết nối với máy tính của bạn. SynCE là mã nguồn mở "full stack" tương đương với ActiveSync mà tôi biết, từ trình điều khiển đến AirSync đến GUI và tích hợp với OpenSync, và tôi không biết bất kỳ dự án nguồn mở nào có mặt như một thiết bị WinMo để ActiveSync.

Tôi không biết về bất kỳ triển khai AirSync nào của C hoặc C++, nhưng tôi tin rằng các nhóm Samba và OpenChange đã có tiến bộ tốt trong việc hỗ trợ các máy chủ Exchange nguyên bản. Khoảng một năm rưỡi trước, tôi được thông báo rằng thậm chí hỗ trợ việc vận chuyển HTTP không xa về mặt công việc cần thiết (nhưng tôi không chắc nó có phải là ưu tiên) hay không.

Mặc dù không có trong C++ và thậm chí không phải thư viện khách, dự án SynCE có mã nguồn mở python có thể là tham chiếu hữu ích nếu không tìm thấy thư viện khác.

Dưới đây là một ví dụ về một máy chủ push mail mà đã được viết bởi một trong những nhà phát triển SynCE: SynCE Airmail

Và động cơ đồng bộ chính có thể được tìm thấy ở đây: SynCE SyncEngine

Trong mã mà, tôi nghĩ SyncEngine /airsync.py sẽ hữu ích nhất cho bạn.

Đào quanh wiki SynCE http://www.synce.org và lưu trữ danh sách gửi thư của họ là cách hay để tìm hiểu về các vấn đề gặp phải và chi tiết đáng ngạc nhiên về giao thức và không nhạy cảm.

Bạn có thể tìm thấy http://libwbxml.opensync.org hữu ích - sau khi lớp wbxml đã được giải mã AirSync chỉ là việc truyền XML.

Và cuối cùng, Microsoft làm cung cấp tài liệu cho các giao thức: