nodejs写的聊天室chome一直在报错求解

问题描述

nodejs写的聊天室chome一直在报错求解
写了一个聊天室,但是chrome控制台一直在报错,

这是我的项目目录:

html部分代码

 <!DOCTYPE html><html>    <head>        <meta charset=""utf-8"" />        <title></title>        <link rel=""stylesheet"" href=""css/style.css"" />        <script src=""node_modules/socket.io/node_modules/socket.io-client/socket.io.js""></script>        <script type=""text/javascript"" src=""js/script.js"" ></script>    </head>    <body onload=""window_onload()"" onunload=""window_onunload()"">        <h1>Socket.IO聊天室</h1>        <div id=""divContainerl"">            <table id=""tbDlg"" border=""0"" cellpadding=""3"" cellspacing=""0"" width=""100%"">                <tr id=""trDlg"">                    <td id=""tdDlg"" width=""5"">                        用户名:&nbsp;                        <input id=""tbxUsername"" type=""text"" value=""游客"" size=""20"" />                        <input id=""btnLogin"" type=""button"" value=""登录"" onclick=""btnLogin_onclick();"" />                        <input id=""btnLogout"" type=""button"" value=""退出"" disabled onclick=""btnLogout_onclick();"" />                    </td>                </tr>            </table>        </div>        <div id=""divLeft"">            <div id=""divchat""></div>            <div id=""divContainer3"">                <table id=""tbDlg"" border=""0"" cellpadding=""3"" cellspacing=""0"" width=""100%"">                    <tr id=""trDlg"">                        <td valign=""top"" id=""tdDlg"" nowrap>对话</td>                        <td valign=""top"" id=""tdDlg"">                            <textarea id=""tbMsg"" cols=""255"" rows=""5"" style=""width: 100%;""></textarea>                        </td>                        <td valign=""top"" id=""tdDlg"">                            <input id=""btnSend"" type=""button"" value=""发送"" disabled onclick=""btnSend_onclick();"" />                        </td>                    </tr>                </table>            </div>        </div>        <div id=""divRight"">            用户列表:        </div>    </body></html>

服务端的代码

 var http = require('http');var express = require('express');var sio = require('socket.io');var app = express();var server = http.createServer(app);app.get('/'function(reqres){    res.sendFile( '/index.html'  { root:__dirname })});server.listen(8020);var io = sio.listen(server);var name = [];io.sockets.on('connection'function(socket){    socket.on('login'function(name){        for(var i=0;i<names.length;i++){            if(names[i] == name){                socket.emit('duplicate');                return;            }        }        names.push(name);        io.sockets.emit('login'name);        io.sockets.emit('sendClients'names);    });    socket.on('chat'function(data){        io.sockets.emit('chat'data);    });    socket.on('logout'function(name){        for(var i=0;i<names.length;i++){            if(names[i] == name){                names.splice(i1);                break;            }        }        socket.broadcast.emit('logout'name);        io.sockets.emit('sendClients'names);    });});

js脚本代码

 var userNamesockettbxUsernametbxMsgdivChat;function window_onload(){    divChat = document.getElementById('tbxUsername');    tbxUsername = document.getElementById('tbxUsername');    tbxMsg = document.getElementById('tbMsg');    tbxUsername.focus();    tbxUsername.select();}function AddMsg(msg){    divChat.innerHTML += msg + '<br>';    if(divChat.scrollHeight > divChat.clientHeight){        divChat.scrollTop = divChat.scrollHeight - divChat.clientHeight;    }}function btnLogin_onclick(){    if(tbxUsername.value.trim() == ''){        alert('请输入用户名');        return;    }    userName = tbxUsername.value.trim();    socket = io.connect();    socket.on('connect'function(){        AddMsg(""与聊天服务器的连接已建立。"");        socket.on('login'function(name){            AddMsg('欢迎用户' + name + '进入聊天室');        });        socket.on('sendClients'function(names){            var divRight = document.getElementById('divRight');            var str = '';            names.forEach(function(name){                str += name + ""<br>"";            })            divRight.innerHTML = ""用户列表<br/>"";            divRight.innerHTML += str;        });        socket.on('chat'function(data){            AddMsg(data.user + '说:' + data.msg);        });        socket.on('disconnect'function(){            AddMsg('与聊天服务器连接已经断开。');            document.getElementById('btnSend').disabled = true;            document.getElementById('btnLogout').disabled = true;            document.getElementById('btnLogin').disabled = '';            var divRight = document.getElementById('divRight');            divRight.innerHTML = ""用户列表"";        });        socket.on('logout'function(name){            AddMsg('用户' + name + '已经退出聊天室');        });        socket.on('duplicate'function(){            alert('该同户名已经被使用');            document.getElementById('btnSend').disabled = true;            document.getElementById('btnLogout').disabled = true;            document.getElementById('btnLogin').disabled = '';        });    });    socket.on('error'function(err){        AddMsg('与聊天室服务器连接发生错误');        socket.disconnect();        socket.removeAllListeners('connect');        io.sockets = {};    });    socket.emit('login'userName);    document.getElementById('btnSend').disabled = '';    document.getElementById('btnLogout').disabled = '';    document.getElementById('btnLogin').disabled = true;}function btnSend_onclick(){    var msg = tbxMsg.value;    if(msg.length > 0){        socket.emit('chat'{user:userNamemsg:msg});        tbxMsg.value = '';    }}function btnLogout_onclick(){    socket.emit('logout'userName);    socket.disconnect();    socket.removeAllListeners('connect');    io.sockets = {};    AddMsg('用户' + userName + '退出聊天室:');    var divRight = document.getElementById('divRight');    divRight.innerHTML = ""用户列表"";    document.getElementById('btnSend').disabled = 'disabled';    document.getElementById('btnLogout').disabled = 'disabled';    document.getElementById('btnLogin').disabled = '';}function window_onunload(){    socket.emit('logout'userName);    socket.disconnect();}

求大神们帮帮忙十分感谢!!

解决方案

参考:http://blog.csdn.net/jiangcs520/article/details/11173749

解决方案二:
404访问不到啊,你看看对应的URL,你的服务器有处理对吗

时间: 2024-10-18 11:09:29

nodejs写的聊天室chome一直在报错求解的相关文章

问题-刚开始学习java ,自己写了一个聊天小程序,没报错但是有毛病,希望能帮忙问一下

问题描述 刚开始学习java ,自己写了一个聊天小程序,没报错但是有毛病,希望能帮忙问一下 刚开始学习java ,自己写了一个聊天小程序,没有报任何错误.测试时打开3个聊天小窗口 A,B,C,在A中输入文字,只在B中显示出来了,而且显示出了三句相同语句.查了好几个小时都没有查出来,希望高手能帮帮忙,看看是怎么回事,并且告诉我是通过什么方法找出来的. 以下是客户端和服务器端代码 客户端: import java.awt.*; import java.awt.event.*; import java

c-刚学数据结构写了个链表,调试无报错,一运行就显示“main.exe停止运行”。

问题描述 刚学数据结构写了个链表,调试无报错,一运行就显示"main.exe停止运行". 刚学数据结构,写了个链表,调试无误,一运行就显示"main.exe停止运行",很头疼,求大神指点..谢谢~ 代码如下: #include #include #define OK 1 #define ERROR 0 #define OVERFLOW -1 define LIST_INIT_SIZE 100 // 线性表存储空间的初始分配量 define LISTINCREMENT

c#-求助,请问,E写的DLL被C#调用就报错是为什么?

问题描述 求助,请问,E写的DLL被C#调用就报错是为什么? 求助,请问,E写的DLL被C#调用就报错是为什么? 传参弹窗的那种DLL 解决方案 贴出你的函数原型,看看C#这里声明的对不对. 解决方案二:

我的代码虽然写得很业余,但是没报错的情况下为什么连printf都执行不了。

问题描述 我的代码虽然写得很业余,但是没报错的情况下为什么连printf都执行不了. 要求从一个字符串里搜寻另一个字符出现的次数.下面是小白的代码. #include int main(int argc, const char * argv[]) { char hah[120],haha[120]; int i,j,num=0; printf("sting1 is "); gets(hah); printf("%sn",hah); printf("stri

在jsp中写的jquery代码为什么 $符号会报错

问题描述 在jsp中写的jquery代码为什么 $符号会报错 解决方案 明显你"${student.number}",你这是后台传过来的吧 解决方案二: 对,我直接复制的页面,忘了这个了,多谢 解决方案三: jquery 的js引对了吗?

XMLHTTP+Javascript+Asp写得聊天室,无刷新实现(一)

javascript|xml|聊天室|刷新|无刷新 使用XML.而无须不断刷新*.ASP.无刷新实现发言的逐条显示.使用Application变量存储聊天记录,所以要需要建立一个虚拟目录服务器端不需要支持XML,只要支持ASP和能建立虚拟目录就可以了. 以下代码在nt4.0+iis4.0上通过.我估计在你的win2000下也差不多吧.如果有问题,请多多赐教:netnice@chinaok.net ##########index.asp##############################

XMLHTTP+Javascript+Asp写得聊天室,无刷新实现(四)

javascript|xml|聊天室|刷新|无刷新 ########say.asp############## <% Option Explicit dim F,T,sC,cL,E,W,sJResponse.ContentType="text/xml"F=Request.Form ("F")T=Request.Form ("T") sC=Request.Form ("sC")cL=Request.Form ("

XMLHTTP+Javascript+Asp写得聊天室,无刷新实现(五)

javascript|xml|聊天室|刷新|无刷新 这是最重要的一个了.也很大.我的习惯不太好.没有加详细的注释,认真看吧.#########send.asp##############<html> <head><META content="text/html; charset=gb2312" http-equiv=Content-Type> <meta http-equiv='pragma' content='no-cache'><

XMLHTTP+Javascript+Asp写得聊天室,无刷新实现(三)

javascript|xml|聊天室|刷新|无刷新 ################reload.asp############## <%'Response.ContentType="text/xml"Response.Write "<?xml version=""1.0"" encoding=""GB2312""?>" Response.Write "<