zoukankan      html  css  js  c++  java
  • [NodeJS]基于WebSocket的NodeJS在线C/C++ WebIDE和在线编译

    很早以前,就想自己做一个在线的IDE,前段时间,做了一个NodeJS的简易版

    目前已经完成了登录、注册、代码编辑器(高亮、自动联想)、云端编译等功能

    前端我主要是使用Bootstrap、codemirror

    后端主要是NodeJS

    编译器是g++

    全站采用全静态,所以请求都是AJAX进行模拟

    下面是server.js的源码

    其他的可以移步coding查看项目

    https://git.coding.net/leeli73/CorCPP_Online_IDE.git

    因为很多文件的命名中,我使用了-,而coding中特殊字符不能作为文件名,所以项目中的www.zip 就是网站的前端代码

    server.js是服务器脚本

    还有很多问题,希望大奖能帮我一起找bug和完善功能

    var WebSocketServer = require('ws').Server,
        wss = new WebSocketServer({ port: 88 });
    
    wss.on('connection', function (ws) {
        console.log('client connected');
        ws.on('message', function (message) {
            console.log(message);
            ResponseJSON(message);
        });
    });
    
    function ResponseJSON(str)
    {
        var Data = JSON.parse(str);
        if (Data.Type == "Code") {
            Response_Code(Data.Data);
        }
        else if (Data, Type == "Get")
        {
    
        }
    }
    
    function Response_Code(code)
    {
        var fs = require("fs");
        fs.writeFile('gcccodecode.txt', code, function (err)
        {
            if (err)
            {
                return console.error(err);
            }
        })
        fs.readFile('gcccodecode.txt', function (err, data)
        {
            if (err)
            {
                return console.error(err);
            }
            console.log("DATA IS:" + data.toString());
        })
        var cmd = require("node-cmd");
        /*cmd.get('C:\Users\leeli\Documents\Visual Studio 2017\Projects\server\server\gcc\check.exe C:\Users\leeli\Documents\Visual Studio 2017\Projects\server\server\gcc\code\code.txt', function (data)
        {
            console.log(data);
        });*/
        cmd.run('E:serverservergcccheck.exe E:serverservergcccodecode.txt');
    
    }
  • 相关阅读:
    洛谷P2466 [SDOI2008]Sue的小球 题解 区间DP+费用提前计算
    中国国家集训队论文集目录(1999-2008)
    洛谷P1726 上白泽慧音 题解 强连通分量
    洛谷P1410 子序列 题解 动态规划
    树堆(Treap)学习笔记 2020.8.12
    伸展树(Splay)学习笔记
    git操作
    yii 缓存探究
    yii之srbac详解
    一个PDO类
  • 原文地址:https://www.cnblogs.com/lee-li/p/8654658.html
Copyright © 2011-2022 走看看