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函数。