Android 使用nodejs和socketio的Chatapp

Android 使用nodejs和socketio的Chatapp,android,node.js,android-studio,socket.io,real-time,Android,Node.js,Android Studio,Socket.io,Real Time,我正在尝试构建我的聊天应用程序。附加了服务器端和客户端代码。当我安装它时,它成功地安装,没有给出任何错误。但它无法与服务器通信,我还希望服务器能够处理多个客户端。当我在手机中安装它时,有一件事让我感到惊讶,它成功地安装并与服务器通信,但在任何其他设备或模拟器上它都无法通信?。如何使多个客户端在服务器上连接并聊天 服务器端脚本 const express = require('express'), http = require('http'), app = express(), server =

我正在尝试构建我的聊天应用程序。附加了服务器端和客户端代码。当我安装它时,它成功地安装,没有给出任何错误。但它无法与服务器通信,我还希望服务器能够处理多个客户端。当我在手机中安装它时,有一件事让我感到惊讶,它成功地安装并与服务器通信,但在任何其他设备或模拟器上它都无法通信?。如何使多个客户端在服务器上连接并聊天

服务器端脚本

const express = require('express'),
http = require('http'),
app = express(),
server = http.createServer(app),

io = require('socket.io').listen(server);
app.get('/', (req, res) => {

res.send('Chat Server is running on port 5000')
});
app.set('port',(process.env.PORT||3000))

io.on('connection', (socket) => {

console.log('user connected. id:   '+socket.id)

socket.on('join', function(userNickname) {

        console.log(userNickname +" : has joined the chat "  );

        socket.broadcast.emit('userjoinedthechat ',userNickname +" has joined the chat ");
    });


socket.on('messagedetection', (senderNickname,messageContent) => {

       //log the message in console

       console.log(senderNickname+" :" +messageContent)
        //create a message object
       let  message = {"message":messageContent, "senderNickname":senderNickname}
          // send the message to the client side
       io.emit('message', message );

      });


 socket.on('disconnect', function() {
    console.log( ' user has left ')
    socket.broadcast.emit("userdisconnect"," user has left ")

});



});





server.listen(app.get('port'),function(){
console.log('Node app is running on port ',app.get('port'));

});

**Client side**
试一试{


我试过使用node和html。它可以正常工作

客户端

console.log('Server connection started');
var socket = io();
var date = new Date();
var Nickname = "Karthik"+ date.getTime();

socket.on('join', (data) => {
    console.log('join', data);
    socket.emit("join", Nickname);
})

socket.on('disconnect', (data) => {
    console.log('disconnect', data);
    socket.emit("disconnect", Nickname);
})

socket.on('message', (data) => {
    console.log('message', data);

    // socket.emit("message", Nickname);
})

socket.emit("messagedetection", Nickname, 'Hi Test.');
console.log('Server connected', socket);
const express = require('express'),
    http = require('http'),
    app = express(),
    server = http.createServer(app),
    io = require('socket.io').listen(server);

app.use(express.static('node_modules'))
app.use(express.static('public'))
app.get('/', (req, res) => {

    res.send('Chat Server is running on port 5000')
});
app.set('port', (process.env.PORT || 3000))

io.on('connection', (socket) => {

    console.log('user connected. id:   ' + socket.id)
    socket.on('join', function (userNickname) {
        console.log(userNickname + " : has joined the chat ");
        socket.broadcast.emit('userjoinedthechat ', userNickname + " has joined the chat ");
    });

    socket.on('messagedetection', (senderNickname, messageContent) => {
        console.log(senderNickname + " :" + messageContent)
        //create a message object
        let message = { "message": messageContent, "senderNickname": senderNickname }
        // send the message to the client side
        io.emit('message', message);

    });

    socket.on('disconnect', function () {
        console.log(' user has left ')
        socket.broadcast.emit("userdisconnect", " user has left ")
    });
});

server.listen(app.get('port'), function () {
    console.log('Node app is running on port ', app.get('port'));

});
请检查发射和开启功能

服务器端

console.log('Server connection started');
var socket = io();
var date = new Date();
var Nickname = "Karthik"+ date.getTime();

socket.on('join', (data) => {
    console.log('join', data);
    socket.emit("join", Nickname);
})

socket.on('disconnect', (data) => {
    console.log('disconnect', data);
    socket.emit("disconnect", Nickname);
})

socket.on('message', (data) => {
    console.log('message', data);

    // socket.emit("message", Nickname);
})

socket.emit("messagedetection", Nickname, 'Hi Test.');
console.log('Server connected', socket);
const express = require('express'),
    http = require('http'),
    app = express(),
    server = http.createServer(app),
    io = require('socket.io').listen(server);

app.use(express.static('node_modules'))
app.use(express.static('public'))
app.get('/', (req, res) => {

    res.send('Chat Server is running on port 5000')
});
app.set('port', (process.env.PORT || 3000))

io.on('connection', (socket) => {

    console.log('user connected. id:   ' + socket.id)
    socket.on('join', function (userNickname) {
        console.log(userNickname + " : has joined the chat ");
        socket.broadcast.emit('userjoinedthechat ', userNickname + " has joined the chat ");
    });

    socket.on('messagedetection', (senderNickname, messageContent) => {
        console.log(senderNickname + " :" + messageContent)
        //create a message object
        let message = { "message": messageContent, "senderNickname": senderNickname }
        // send the message to the client side
        io.emit('message', message);

    });

    socket.on('disconnect', function () {
        console.log(' user has left ')
        socket.broadcast.emit("userdisconnect", " user has left ")
    });
});

server.listen(app.get('port'), function () {
    console.log('Node app is running on port ', app.get('port'));

});
emit(“join”+昵称);在android中,将逗号替换为加号图标,然后只有昵称作为参数。否则,不会触发join函数。