节点服务器已启动但无法连接到IP

时间:2017-08-08 15:15:32

标签: node.js npm server

我启动了nodejs服务器但无法连接,如下所示: Node server not showing index.js message here[![][1]

在控制台中它显示正在运行但在浏览器中它似乎无法连接。 索引代码如下:

console.log('Hiiiiiiiiiiiiiiiiiiii');
var io = require('socket.io');
var dot = require('dotenv').config();
var PORT = 3001;
var express = require('express');
var app = express();

var mysql = require('mysql')
var connection = mysql.createConnection({
    host: 'localhost',
    user: 'titan_bidwork',
    password: 'bidwork@123#',
    database: 'titan_bidwork'
})

connection.connect(function(err) {
    if (err) throw err
    console.log('You are now connected...')
})

http = require('http'),
    server = http.createServer(function(req, res) {  
        res.setHeader('Access-Control-Allow-Origin', '*');
        res.setHeader('Access-Control-Request-Method', '*');
        res.setHeader('Access-Control-Allow-Methods', 'OPTIONS, GET');
        res.setHeader('Access-Control-Allow-Headers', '*');
        res.setHeader("Access-Control-Allow-Origin", "*");
        res.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
        if (req.method === 'GET') {
            res.writeHead(200, 'Hi, this is a very bad practice.', {
                'Content-Type': 'text/html'
            });
            res.write('<h1>Node Server Running....</h1>');
            res.end('<p>Some random text.</p>');
            return;
        }
    });
io = io.listen(server)
io.on('connection', function(socket) {
    socket.on('subscribe', function(room) {
        console.log('joining room', room);
        socket.join(room);
    });
    socket.on('message', function(msg) {
        console.log('message--->>', msg);
        console.log('msg----=>', msg["room"], msg["message"], msg["flag"]);
        connection.query("INSERT INTO chat_room (room, message, flag) VALUES (?,?,?)", [msg['room'], msg['message'], msg['flag']], function(err, result) {
            if (err) throw console.log(err)
        })

        io.to(msg.room).emit('message', msg);
    });



    socket.on('connect_failed', function(msg) {
        console.log('connection failed', msg);
    });


    socket.on('send message', function(data) {
        console.log('sending room post', data.room);
        // io.to(room_name).emit('chat message', msg);
        socket.broadcast.to(data.room).emit('conversation private post', {
            message: data.message
        });
    });
});

app.post('/getMsgs', function(req, res) {
    console.log(req, '----', res);
})
server.listen(PORT, function() {
    console.log(server.address());
});

1 个答案:

答案 0 :(得分:0)

线索出现在浏览器错误 - 连接超时中,您似乎只是在GET个请求上向客户端发送响应。但是,很多时候客户端会首先发送内省请求,例如OPTIONS / HEAD

尝试将代码更改为

server = http.createServer(function(req, res) {  
    res.setHeader('Access-Control-Allow-Origin', '*');
    res.setHeader('Access-Control-Request-Method', '*');
    res.setHeader('Access-Control-Allow-Methods', 'OPTIONS, GET');
    res.setHeader('Access-Control-Allow-Headers', '*');
    res.setHeader("Access-Control-Allow-Origin", "*");
    res.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
    if (req.method === 'GET') {
        res.writeHead(200, 'Hi, this is a very bad practice.', {
            'Content-Type': 'text/html'
        });
        res.write('<h1>Node Server Running....</h1>');
        res.write('<p>Some random text.</p>');
    }
    return res.end(); // ensure all requests return a response
});

FWIW你应该结帐Express,这将使你的生活更容易定位特定路线&amp;提供HTML等。

相关问题