Aliran Angka Acak

Aliran Angka Acak


Saya perlu membuka aliran antara klien dan server dan mengirim 1000 nomor acak (antara 1 dan 1000) yang dihasilkan di sisi klien (Javascript) ke server (Node.js) .

  • Setiap kali server menerima nilai baru, nilai tersebut harus dikeluarkan ke dalam log.
  • Nilai harus dikirim sebagai string berkode utf-8

Bagaimana hal ini dilakukan?


person Community    schedule 15.03.2014    source sumber


Jawaban (1)


Bagaimana dengan socket.io? Mudah digunakan dan Anda dapat mengirim data dengan kedua cara jika diperlukan.

Sisi parah:

var io = require('socket.io').listen(80);

io.sockets.on('connection', function (socket) {
    socket.on('random_number', function (data) {
        console.log(data);
    });
});

Sisi klien:

<script src="/socket.io/socket.io.js"></script>
<script>
  var socket = io.connect('http://localhost');
  socket.emit('random_number', { number: 482 });
</script>

Bungkus saja socket.emit dalam satu lingkaran bersama dengan generator nomor dan Anda siap berangkat;)

person wesolyromek    schedule 15.03.2014
comment
Bisakah Anda menjelaskan sesuatu untuk saya? Saya belum pernah menggunakan socket.io. Bagaimana cara <script src="/socket.io/socket.io.js"></script> bekerja di sisi klien, untuk pengguna yang belum menginstal socket.io? Saya mencari salinan socket.io.js, dan tidak dapat menemukannya dihosting di mana pun. Saya mencarinya, dan ternyata masih ada lagi, tapi saya agak bingung. - person ; 16.03.2014
comment
Itu melampirkan file js, dengan semua fungsi yang diperlukan ke file html Anda. Browser mengunduhnya dan mem-parsingnya, menambahkan objek seperti io (Anda dapat melihat bahwa itu belum ditentukan dalam file Anda - ada di socket.io.js) ke konteks javascript. Itu hanya perpustakaan yang dibutuhkan klien untuk berkomunikasi dengan server Anda. - person wesolyromek; 16.03.2014
comment
Oke, sekarang saya benar-benar bingung.. Saya membuka halaman web saya dengan skrip tersebut, dan konten halaman web tersebut diganti dengan Selamat datang di socket.io .. Apakah saya melewatkan sesuatu? - person ; 16.03.2014
comment
Oh ya, ini karena socket.io diatur untuk mendengarkan pada port 80 saat ini. Silakan periksa tautan berikut: socket.io/#how-to-use (yang pertama bagian - Menggunakan dengan server HTTP Node; Anda dapat menyalin skrip aplikasi dari sini) dan stackoverflow.com/questions/8689877/cant-find-socket-io-js - person wesolyromek; 16.03.2014
comment
Saya seorang pemula... Mencoba membuat Socket.io berfungsi adalah javascript yang membuat saya ingin berhenti.. haha. Ini buruk. Skrip klien yang Anda tampilkan di sana hanya menggantikan halaman saya dengan 'Selamat datang di socket.io dan setelah membaca halaman yang baru saja Anda tunjukkan kepada saya, saya masih tidak tahu cara membuat skrip ini berfungsi. Saya akan terus mencoba. - person ; 16.03.2014
comment
Saya baru saja menemukan stackoverflow.com/questions/16939755/ ... mungkin bisa membantu - person ; 16.03.2014
comment
Coba ini: pastebin.com/TEanr3Wt. Ini akan membuat server node sederhana dengan akses hanya ke index.html yang harus ditempatkan di folder yang sama dengan skrip node. Itu (indeks) harus berisi html sederhana dan skrip klien yang telah saya tempelkan untuk Anda. Semoga ini membantu :) - person wesolyromek; 16.03.2014
comment
mari kita melanjutkan diskusi ini di chat - person wesolyromek; 16.03.2014