Я пытаюсь разработать приложение чата с помощью Express JS (шаблон нефрита) и socket.io
.Йтесь мой app.js
Экспресс приложение чат расслоения плотного: 404 ошибки socket.io.js файл
var express = require('express');
var path = require('path');
var http = require('http');
var io = require('socket.io')(http);
var app = express();
//start chat with socket io
io.sockets.on('connection',function(socket){
console.log("connection");
socket.on('send message',function(data,callback){
var msg=data.trim();
if(msg==null){
callback("enter a messsage");
}else{
console.log("chat message"+msg);
io.sockets.emit('new message',{msg:msg});
}
});
});
//end socket
Вот мой chat.js
файл на стороне клиента
$(document).ready(function(){
var socket=io.connect('http://localhost:3000');
var $message=$('#message');
var $messageForm=$('#send-message');
//opens a connection and send to sever
$messageForm.submit(function(e){
e.preventDefault();
socket.emit('send message',$message.val(),function(data){
console.log("data"+data);
});
$message.val('');
});
//read the chat messages from users
socket.on('new message',function(data){
console.log('data.msg');
});
});
chat.jade
файл
<form id="send-message">
<input type="text" id="message">
<input type="submit" value="submit"/>
</form>
<script src="http://localhost/api/jquery.min.js"></script>
<script src="http://localhost:3000/socket.io/socket.io.js"></script>
Я буду получать ошибку 404 на этот файл http://localhost:3000/socket.io/socket.io.js
. Также получите Uncaught ReferenceError: io is not defined
в скрипте chat.js. Я думаю, это из-за отсутствия файла socket.io.js
.
позвольте мне попробовать, что –
я думаю, что моя проблема с 'io.connect'. –
У меня есть файл с прикрепленным файлом socket.io в моем чате.jade.Now ошибка 404 решена, но 'io reference error' по-прежнему сохраняется –