Saya memiliki aplikasi vb.net yang membuka soket dan mendengarkannya.
Saya perlu berkomunikasi melalui soket ini ke aplikasi itu menggunakan javascript yang berjalan di browser. Yaitu saya perlu mengirim beberapa data di soket ini sehingga aplikasi yang mendengarkan di soket ini dapat mengambil data itu, melakukan beberapa hal menggunakan beberapa panggilan jarak jauh dan mendapatkan lebih banyak data dan meletakkannya kembali di soket yang dibutuhkan javascript saya membaca dan mencetaknya di browser.
Saya sudah mencoba, socket.io, websockify tetapi tidak ada yang terbukti berguna.
Oleh karena itu pertanyaannya, apakah yang saya coba mungkin? Adakah cara agar javascript yang berjalan di browser dapat terhubung ke soket tcp dan mengirim beberapa data dan mendengarkannya untuk beberapa respons data lagi pada soket dan mencetaknya ke browser.
Jika ini memungkinkan, dapatkah seseorang mengarahkan saya ke arah yang benar yang akan membantu saya menetapkan tujuan.
Jawaban:
Adapun masalah Anda, saat ini Anda harus bergantung pada XHR atau websockets untuk ini.
Saat ini tidak ada browser populer yang menerapkan api soket mentah untuk javascript yang memungkinkan Anda membuat dan mengakses soket mentah, tetapi draf untuk penerapan api soket mentah di JavaScript sedang dalam proses. Lihat tautan ini:
http://www.w3.org/TR/raw-sockets/
https://developer.mozilla.org/en-US/docs/Web/API/TCPSocket
Chrome sekarang memiliki dukungan untuk soket TCP dan UDP mentah di API 'eksperimental'. Fitur-fitur ini hanya tersedia untuk ekstensi dan, meskipun didokumentasikan, disembunyikan untuk saat ini. Karena itu, beberapa pengembang sudah membuat proyek menarik dengan menggunakannya, seperti klien IRC ini .
Untuk mengakses API ini, Anda harus mengaktifkan tanda eksperimental di manifes ekstensi Anda. Menggunakan soket cukup mudah, misalnya:
sumber
Ini akan dimungkinkan melalui antarmuka navigator seperti yang ditunjukkan di bawah ini:
Detail selengkapnya diuraikan di dokumentasi tcp-udp-sockets w3.org.
http://raw-sockets.sysapps.org/#interface-tcpsocket
https://www.w3.org/TR/tcp-udp-sockets/
Alternatif lain adalah menggunakan Soket Chrome
Membuat koneksi
Mengirim data
Menerima data
Anda juga dapat menggunakan upaya untuk menggunakan
HTML5 Web Sockets
(Meskipun ini bukan komunikasi TCP langsung):http://www.html5rocks.com/en/tutorials/websockets/basics/
Server Anda juga harus mendengarkan dengan server WebSocket seperti pywebsocket, atau Anda dapat menulis sendiri seperti yang diuraikan di Mozilla
sumber
Proyek ws2s ditujukan untuk membawa soket ke sisi browser js. Ini adalah server websocket yang mengubah websocket menjadi socket.
diagram skematik ws2s
contoh kode:
sumber
Lihat jsocket . Belum pernah menggunakannya sendiri. Sudah lebih dari 3 tahun sejak pembaruan terakhir (per 26/6/2014).
* Menggunakan flash :(
Dari dokumentasi :
sumber
Solusi yang benar-benar Anda cari adalah soket web. Namun proyek chromium telah mengembangkan beberapa teknologi baru yaitu koneksi TCP langsung chromium TCP
sumber
Untuk mencapai apa yang Anda inginkan, Anda harus menulis dua aplikasi (dalam Java atau Python, misalnya):
Aplikasi jembatan yang berada di mesin klien dan dapat menangani soket TCP / IP dan WebSockets. Ini akan berinteraksi dengan soket TCP / IP yang dimaksud.
Aplikasi sisi server (seperti JSP / Servlet WAR) yang dapat menggunakan WebSockets. Ini mencakup setidaknya satu halaman HTML (termasuk kode pemrosesan sisi server jika perlu) untuk diakses oleh browser.
Ini harus bekerja seperti ini
Catatan 1: Langkah-langkah di atas adalah penyederhanaan yang sangat besar dan tidak menyertakan informasi tentang penanganan kesalahan dan permintaan keepAlive, jika klien memutuskan sambungan sebelum waktunya atau server perlu memberi tahu klien bahwa ia sedang mematikan / memulai ulang.
Catatan 2: Bergantung pada kebutuhan Anda, dimungkinkan untuk menggabungkan komponen-komponen ini menjadi satu jika server soket TCP / IP yang dimaksud (yang dibicarakan jembatan) berada di komputer yang sama dengan aplikasi server.
sumber