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 
相关推荐
meilindehuzi_a19 小时前
全栈 AI 必修课:基于 Node.js 与 LLM 的渐进式提示词工程实践
人工智能·node.js·prompt
不好听61320 小时前
Prompt 驱动 NLP:用大语言模型重新定义自然语言处理开发范式
设计模式·node.js·nlp
触底反弹20 小时前
大模型时代:5 个 Prompt 替代 BERT 训练,搞定 NLP 五大任务
人工智能·node.js·api
甜味弥漫1 天前
React 快速入门:从 JSX 到列表渲染
react.js·前端框架·node.js
用户938515635071 天前
从模块化到 Prompt 工程:我用 Node.js + LLM 复刻了传统 NLP 的流程
javascript·人工智能·node.js
妖孽白YoonA1 天前
xlt-token v1.0.0 正式发布:NestJS / Express 一包接入的 Token 鉴权库
后端·node.js·nestjs
码农阿豪2 天前
Node.js 连金仓数据库(下篇):连接池、事务和那些坑
数据库·node.js
晓杰'2 天前
从0到1实现Balatro游戏后端(7):Boss Blind与特殊规则实现
后端·websocket·typescript·node.js·游戏开发·项目实战·nestjs
右耳朵猫AI2 天前
Node.js周刊2026W21 | Node.js 26.2.0、Bun v1.3.14、Rolldown 1.0、TypeORM 1.0
node.js
wgc2k2 天前
Node.js游戏服务器项目移植 5-唯一 ID 生成方案
游戏·node.js