สตรีมหมายเลขสุ่ม

สตรีมหมายเลขสุ่ม


ฉันต้องเปิดสตรีมระหว่างไคลเอ็นต์และเซิร์ฟเวอร์ และส่งหมายเลขสุ่ม 1,000 หมายเลข (ระหว่าง 1 ถึง 1,000) ที่สร้างขึ้นในฝั่งไคลเอ็นต์ (Javascript) ไปยังเซิร์ฟเวอร์ (Node.js) .

  • แต่ละครั้งที่เซิร์ฟเวอร์ได้รับค่าใหม่ ควรส่งออกไปยังบันทึก
  • ค่าจะต้องส่งเป็นสตริงที่เข้ารหัส utf-8

วิธีนี้ทำอย่างไร?


person Community    schedule 15.03.2014    source แหล่งที่มา


คำตอบ (1)


socket.io เป็นอย่างไร ใช้งานง่ายและคุณสามารถส่งข้อมูลได้ทั้งสองวิธีหากจำเป็น

ฝั่งเซิฟเวอร์:

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

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

ด้านลูกค้า:

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

เพียงพัน socket.emit เข้าด้วยกันพร้อมกับตัวสร้างตัวเลขคุณก็พร้อมที่จะไป;)

person wesolyromek    schedule 15.03.2014
comment
คุณช่วยอธิบายบางอย่างให้ฉันหน่อยได้ไหม? ฉันไม่เคยใช้ socket.io <script src="/socket.io/socket.io.js"></script> ทำงานอย่างไรบนฝั่งไคลเอ็นต์สำหรับผู้ใช้ที่ไม่ได้ติดตั้ง socket.io ฉันค้นหาสำเนาของ socket.io.js และไม่พบที่โฮสต์อยู่ที่ใดเลย ฉันค้นหามันแล้ว และเห็นได้ชัดว่ายังมีอะไรมากกว่านี้ แต่ฉันสับสนนิดหน่อย - person ; 16.03.2014
comment
กำลังแนบไฟล์ js พร้อมด้วยฟังก์ชันที่จำเป็นทั้งหมดลงในไฟล์ html ของคุณ เบราว์เซอร์ดาวน์โหลดและแยกวิเคราะห์ โดยเพิ่มวัตถุเช่น io (คุณจะเห็นได้ว่าไม่ได้กำหนดไว้ในไฟล์ของคุณ - มันอยู่ใน socket.io.js) ลงในบริบทของจาวาสคริปต์ มันเป็นเพียงไลบรารีที่ไคลเอนต์จำเป็นต้องสื่อสารกับเซิร์ฟเวอร์ของคุณ - person wesolyromek; 16.03.2014
comment
ตกลง ตอนนี้ฉันสับสนจริงๆ .. ฉันเปิดหน้าเว็บของฉันโดยมีสคริปต์นั้นรวมอยู่ด้วย และเนื้อหาของหน้าเว็บก็ถูกแทนที่ด้วยยินดีต้อนรับสู่ socket.io .. ฉันพลาดอะไรไปหรือเปล่า? - person ; 16.03.2014
comment
โอ้ นี่เป็นเพราะว่า socket.io ได้รับการตั้งค่าให้ฟังที่พอร์ต 80 ในขณะนี้ โปรดตรวจสอบลิงก์เหล่านี้: socket.io/#how-to-use (ลิงก์แรก ส่วน - การใช้กับเซิร์ฟเวอร์ Node HTTP คุณสามารถคัดลอกสคริปต์แอปได้จากที่นี่) และ stackoverflow.com/questions/8689877/cant-find-socket-io-js - person wesolyromek; 16.03.2014
comment
ผมมือใหม่มาก... การพยายามทำให้ Socket.io ใช้งานได้ สิ่งแรกเลยคือ javascript ที่ทำให้ผมอยากเลิกครับ.. 555 นี้ไม่ดี. สคริปต์ไคลเอนต์ที่คุณแสดงที่นั่นแทนที่หน้าของฉันด้วย 'ยินดีต้อนรับสู่ socket.io และหลังจากอ่านหน้าเหล่านั้นที่คุณเพิ่งแสดงให้ฉันเห็น ฉันยังคงไม่รู้ว่าจะทำให้สคริปต์นี้ทำงานอย่างไร ฉันจะพยายามต่อไป - person ; 16.03.2014
comment
ฉันเพิ่งพบ stackoverflow.com/questions/16939755/ ... อาจจะช่วยได้ - person ; 16.03.2014
comment
ลองทำสิ่งนี้: pastebin.com/TEanr3Wt สิ่งนี้จะสร้างเซิร์ฟเวอร์โหนดแบบธรรมดาที่เข้าถึงได้เฉพาะ index.html ซึ่งควรอยู่ในโฟลเดอร์เดียวกันกับสคริปต์โหนด (ดัชนี) ควรมี html แบบธรรมดาและสคริปต์ไคลเอนต์ที่ฉันวางคุณไว้ หวังว่านี่จะช่วยได้ :) - person wesolyromek; 16.03.2014
comment
ให้เราสนทนาต่อในการแชท - person wesolyromek; 16.03.2014