2011-12-17 29 views
2

WebKit的移动工作,这Node.js的代码:socket.io不与我使用Node.js的

var server = require("socket.io").listen(6666); 

server.sockets.on("connection", function(message) 
{ 
     message.on("newMessage", function(data) 
     { 
       server.sockets.emit("sendEvent", data); 
     }); 
}); 

这个HTML代码:

<!DOCTYPE html> 
<html lang="en"> 
<head> 
<meta charset="utf-8" /> 
<title>Online chat</title> 
<style> 
body 
{ 
    color: #333; 
    background: #333; 
    font-family: "Helvetica", Arial; 
    font-size: 14px; 
    text-align: center; 
} 
.container 
{ 
    background: #ccc; 
    border-radius: 1em; 
    box-shadow: 0px 5px 5px rgba(0,0,0,0.5); 
    text-shadow: 5px 5px 5px rgba(0,0,0,0.5); 
    margin: 1em auto; 
    padding: 1em; 
    width: 90%; 
} 

input 
{ 
    display: block; 
    font-size: 12px; 
    margin: 1em auto; 
    padding: 0.5em; 
    width: 95%; 
} 

span 
{ 
    display: block; 
    font-size: 12px; 
    margin: 1em auto; 
    padding: 0.5em; 
    width: 95%; 
    text-align: left; 
} 
</style> 
<script src="/resources/js/socket.io.js"></script> 
<script type="text/javascript"> 
<!-- 
var websocket = io.connect("http://localhost:6666"); 

window.onload = function() 
{ 
    websocket.on("sendEvent", function(data) 
    { 
     var chat = document.getElementById('zchat'); 
     var span = document.createElement('span'); 
     var txt = document.createTextNode(data); 
     span.appendChild(txt);    
     if(chat.hasChildNodes()) 
      chat.insertBefore(span, chat.firstChild); 
     else 
      chat.appendChild(span); 
    }); 

    var form = document.getElementById('zform'); 
    var message = document.getElementById('zmessage'); 
    form.onsubmit = function(e) 
    { 
     websocket.emit("newMessage", message.value);  
     return false; 
    }; 
}; 
//--> 
</script> 
</head> 
<body> 
    <div class="container"> 
     <form id="zform"> 
      <label>Message: </label> 
      <input type="text" name="zmessage" id="zmessage" placeholder="Please insert message" required /> 
      <input type="submit" /> 
     </form>  
    </div> 
    <div id="zchat" class="container"> 
    </div> 
</body> 
</html> 

正常工作正常浏览器,但我与三星bada的基于webkit的“dolfin”浏览器探测,它不工作,有人可以探讨与另一个移动浏览器?谢谢:)

+0

>哦,Dolfin不应该与Dolphin(Android WebKit的皮肤)混淆。 <不确定三星Dolfin是否使用webkit。 :/ – 2011-12-17 17:30:12

+0

我认为是node.js版本,我将使用最新版本:) – ZiTAL 2011-12-17 20:47:29

+0

Node.js是服务器端,它不应该影响特定的浏览器。铬/铬都不是 – 2011-12-17 21:25:59

回答

9

server.js

//... 
var server = require("socket.io").listen(6969); 
//... 

的index.html

//... 
var websocket = io.connect("http://192.168.100.103:6969"); 
//... 

我认为撒旦的端口是邪恶的这一点,jajajaja而且从不使用localhost,始终是PC的公网IP

+1

+1对于SATAN的端口=) – 2012-08-17 11:54:07

+0

为什么它必须是6969? 80或其他什么问题? – MichaelS 2013-02-24 17:36:27

+0

不要以root权限启动服务器 – ZiTAL 2013-08-09 15:02:38

相关问题