簡體   English   中英

如何使用socket.io客戶端發出數據?

[英]How to emit data with socket.io client-side?

因此,我正在使用socket.io在服務器和客戶端之間實時傳輸數據。

我能夠在服務器和客戶端之間建立連接,並且服務器能夠發出套接字客戶端ID。

但是我無法將數據從客戶端發送到服務器。 我的目標是使客戶端將數據發送到服務器進行進一步處理,但是我認為我做錯了什么,我不知道該怎么辦。

Server.js在這里...

var ioJSON = require('./io');
var serverPort = ioJSON.server.port;
var date = new Date();
var io = require('socket.io').listen(serverPort);


io.on('connection', function(socket){
    console.log('Client connected at '+date+' with socket ID: '+ socket.client.id);
    io.emit('socketClientID', socket.client.id);
});

和client.js在這里...

var io = require('socket.io-client');
var socket = io.connect("http://localhost:3000/", {
    reconnection: true
});


socket.on('socketClientID', function (socketClientID) {
    console.log('Connection to server established. SocketID is',socketClientID);
});

我的目標是將數據從客戶端發送到服務器。 我將不勝感激一些幫助。

謝謝

使用socket.emit(eventName, args)這樣在客戶端中發送數據:

client.js:

var io = require('socket.io-client');
var socket = io.connect("http://localhost:3000/", {
    reconnection: true
});

socket.on('socketClientID', function (socketClientID) {
    console.log('Connection to server established. SocketID is',socketClientID);
    socket.emit('hello_from_client', 123);
});

然后在服務器端使用socket.on(eventName, callback)監聽事件

server.js:

var ioJSON = require('./io');
var serverPort = ioJSON.server.port;
var date = new Date();
var io = require('socket.io').listen(serverPort);

io.on('connection', function(socket){
    console.log('Client connected at '+date+' with socket ID: '+ socket.client.id);
    io.emit('socketClientID', socket.client.id);
    socket.on('hello_from_client', function(data){
        console.log(data);
    });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM