首先,我想为我的问题中的任何错误道歉,这是我的第一个家伙!
我正在尝试使用以下代码测试我的服务器和客户端之间的连接。
它是这样工作的:在某个端口上启动一个套接字,然后客户端尝试在该端口上连接,连接部分成功意味着“node server.js”启动连接,当我在浏览器上访问“localhost”时:8000' 生成了 html 页面,但是当我单击按钮时什么都没有发生。
index.html 代码
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="/socket.io/socket.io.js"></script>
<script>
$(document).ready(function() {
var socket = io.connect("localhost:8000");
$("#join").click(function() {
var name = $("#name").val();
if (name != "") {
socket.emit("join", name);
}
});
socket.on("update", function(msg) {
$("#msgs").append("<li>" + msg + "</li>");
});
});
</script>
</head>
<body>
<input type="text" placeholder="Yor name" id="name">
<input type="button" name="join" id="join" value="Join!">
<ul id="msgs">
</ul>
</body>
server.js 代码
var fs = require('fs'),
http = require('http'),
sio = require('socket.io');
var server = http.createServer(function(req, res) {
res.writeHead(200, { 'Content-type': 'text/html'});
res.end(fs.readFileSync(__dirname + '/index.html'));
});
server.listen(8000, function() {
console.log('server is running');
});
var socket = sio.listen(server);
socket.on("connection", function (client) {
client.on("join", function(name) {
client.emit("update", name + "You have successfully sent your first message.");
});
});