Fleksibel: pertanyaan perpesanan klien/server (RPC atau soket?)

Saya sedang membangun aplikasi Flex, yang akan melakukan banyak permintaan server (katakanlah, hampir semua interaksi memerlukan pembaruan dari server).

Saat ini saya menggunakan panggilan prosedur jarak jauh untuk itu. Tapi saya bertanya-tanya apakah menggunakan soket akan lebih baik.

Dengan kata lain, mungkin lebih baik menjaga koneksi tetap hidup daripada melakukan banyak panggilan secara berurutan?

Untuk aplikasi demo saya, saya hanya memiliki 1 klien. Apakah jumlah klien yang terhubung ke server merupakan faktor pilihan ini?

terima kasih


person aneuryzm    schedule 09.04.2010    source sumber


Jawaban (1)


Jika Anda menggunakan soket (dan secara praktis membangun server NIO Anda sendiri, mungkin berdasarkan Apache MINA) dimungkinkan untuk memperoleh peningkatan kinerja tetapi menurut pendapat saya Anda harus menginvestasikan banyak pekerjaan untuk itu. Saya tahu beberapa orang menggunakan pendekatan ini tetapi untuk aplikasi yang sangat tertentu (permainan Flash yang seharusnya memiliki banyak pengguna). Mereka menghabiskan waktu satu bulan untuk membangunnya.

Solusi lain (jika Anda berencana menggunakan soket) adalah dengan menggunakan beberapa produk yang menawarkan saluran RTMP (LCDS, WebOrb) tetapi tidak gratis dan menurut saya tidak layak jika Anda berencana menggunakannya hanya untuk panggilan RPC melalui sebuah soket.

Untuk sebagian besar kasus, pendekatan RPC berdasarkan POST sudah cukup baik. Serialisasi AMF cukup ringkas (saya menulis di sini patokan kecil dan Anda dapat menemukan sumber lain di web).

Flash Player juga mengirimkan permintaan RPC Anda dalam satu batch - misalnya jika Anda memanggil metode kode Flex 3 Anda satu demi satu, semuanya akan dikelompokkan hanya dalam satu panggilan POST.

person Cornel Creanga    schedule 09.04.2010