这是一个Web套接字客户端。为什么我需要输入myURL
两次?服务器是否总是侦听同一个URL,其中/socket.io/socket.io.js是?
<!doctype html>
<html>
<head>
<script src='http://code.jquery.com/jquery-1.7.2.min.js'></script>
<script src='myURL:8888/socket.io/socket.io.js'></script>
<script>
var socket = io.connect('myURL:8888');
socket.on('welcome', function(data) {
$('#messages').append('<li>' + data.message + '</li>');
socket.emit('i am client', {data: 'foo!'});
});
socket.on('time', function(data) {
console.log(data);
$('#messages').append('<li>' + data.time + '</li>');
});
socket.on('error', function() { console.error(arguments) });
socket.on('message', function() { console.log(arguments) });
</script>
</head>
<body>
<ul id='messages'></ul>
</body>
</html>
答案 0 :(得分:2)
不知道你使用socket.io有多精确:
'myURL'的第一个实例是加载socket.io库的地方。这只是一个JavaScript文件,然后在浏览器中执行。
第二个例子是您建立与套接字端点的连接。在这里,您需要提供服务器侦听的URL +端口组合。
这两个可以连接,例如因为脚本是由您想要连接的服务器托管的(这里似乎就是这种情况),但它们不需要。
脚本可以例如从本地文件系统加载,而服务器在另一台机器上运行。在这种情况下,不会重新发生URL。