Node socket.io docker

server

bash 复制代码
npm install express
bash 复制代码
npm install socket.io
javascript 复制代码
const express = require('express');
const http = require('http');
const socketIO = require('socket.io');

const app = express();
const server = http.createServer(app);
const io = socketIO(server);

io.on('connection', (socket) => {
    console.log('User connected');

    socket.on('chat message', (msg) => {
        console.log('message: ' + msg);
        io.emit('chat message', msg); // to all
    });

    socket.on('disconnect', () => {
        console.log('User disconnected');
    });
});

server.listen(24525, () => {
    console.log('Node Server is running on port 24525');
});

docker

dockerfile

bash 复制代码
FROM node:16-alpine

WORKDIR /usr/src/app

COPY package*.json ./
RUN npm ci --only=production

COPY . .

EXPOSE 24525

CMD ["node", "skio.js"]
bash 复制代码
docker build -t nodeskio .

docker run -p 24525:24525 -d nodeskio

##login push

#docker login
#docker push your-image-name

client

bash 复制代码
npm install socket.io-client
javascript 复制代码
const io = require('socket.io-client');
const readline = require('readline');
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});

const socket = io.connect('http://localhost:24525');

socket.on('connect', () => {
    console.log('Connected to server');
});

// 监听从服务器接收到的消息
socket.on('chat message', (msg) => {
    console.log('Message from server:', msg);
});

// 处理用户输入并发送到服务器
rl.on('line', (input) => {
    if (input.toLowerCase() === 'exit') {
        console.log('Exiting...');
        rl.close();
        process.exit(0);
    } else {
        socket.emit('chat message', input);
    }
});

// 处理关闭事件
rl.on('close', () => {
    socket.disconnect();
    console.log('Connection closed.');
});
bash 复制代码
npm run 
相关推荐
muddjsv17 小时前
Node.js 开发上手指南:从环境搭建到实战开发
node.js
福大大架构师每日一题19 小时前
dify 1.11.4 正式发布:全面强化安全性、修复多项关键问题,Node.js 升级至 24.13.0!附详细升级指南
node.js·dify
winfredzhang20 小时前
从零构建:基于 Node.js 与 ECharts 的量化交易策略模拟系统
前端·node.js·echarts·股票·策略
Ashley_Amanda21 小时前
Node.js 版本管理指南
node.js
摇滚侠1 天前
Node.js 安装及环境变量配置,压缩包格式的安装包
node.js
天天打码2 天前
Svelte-无虚拟DOM、极致性能的现代高性能Web开发框架!
前端·node.js·vue·svelte
吹牛不交税2 天前
win10切换node.js版本
node.js
局外人LZ2 天前
Forge:web端与 Node.js 安全开发中的加密与网络通信工具集,支持哈希、对称 / 非对称加密及 TLS 实现
前端·安全·node.js
JaredYe2 天前
node-plantuml-2:革命性的纯Node.js PlantUML渲染器,告别Java依赖!
java·开发语言·node.js·uml·plantuml·jre
南方姑娘-qing2 天前
nodejs脚本部署到服务器自动运行
node.js