Vì vậy, cuối cùng tôi đã quyết định cung cấp cho Node.js một ảnh. Tôi quyết định đi với một ứng dụng trò chuyện nhỏ để phá băng. Hướng dẫn tôi đang theo dõi trực tiếp từ trang web socket.io.Hướng dẫn trò chuyện Socket.io không hoạt động đúng cách
http://socket.io/get-started/chat/
tôi sau lời hướng dẫn cho văn bản và thậm chí còn cố gắng sao chép và dán mã vào nguồn và đang nhận được không có nơi khi tôi gõ văn bản và gửi đi. Nó được cho là sắp tới trong dấu nhắc lệnh của tôi, tuy nhiên nó không phải là.
Tôi đã có người dùng kết nối và người dùng bị ngắt kết nối thư xuất hiện nhưng tôi stumped ngày này như tôi đã làm theo hướng dẫn từng bước.
Index.js
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
app.get('/', function(req, res) {
res.sendFile('/chat/index.html');
});
io.on('connection', function(socket){
socket.on('chat message', function(msg){
console.log('message: ' + msg);
});
});
http.listen(3000, function() {
console.log('Listening on *:3000');
});
index.html:
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>Chat</title>
<script src="/socket.io/socket.io.js"></script>
<script src="http://code.jquery.com/jquery-1.11.1.js"></script>
<script>
var socket = io();
$('form').submit(function(){
socket.emit('chat message', $('#m').val());
$('#m').val('');
return false;
});
</script>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font: 13px Helvetica, Arial; }
form { background: #000; padding: 3px; position: fixed; bottom: 0; width: 100%; }
form input { border: 0; padding: 10px; width: 90%; margin-right: .5%; }
form button { width: 9%; background: rgb(130, 224, 255); border: none; padding: 10px; }
#messages { list-style-type: none; margin: 0; padding: 0; }
#messages li { padding: 5px 10px; }
#messages li:nth-child(odd) { background: #eee; }
</style>
</head>
<body>
<ul id="messages"></ul>
<form action="">
<input id="m" autocomplete="off" /><button>Send</button>
</form>
</body>
</html>
Tôi giả sử tôi phạm lỗi cho một số nơi nhưng tôi không nhìn thấy nó, mặc dù tôi đã cố gắng và sao chép và dán nó. Ngoài ra, nếu nó quan trọng tôi đang sử dụng Windows 8.1 và Chrome. Tôi đã kiểm tra và không tìm thấy câu trả lời cho vấn đề này. Bất kỳ sự trợ giúp nào đều sẽ là tuyệt vời.
CHỈNH SỬA: Vấn đề là với jQuery, vì một số lý do nó không phản hồi như nó cần. Sau khi viết lại kịch bản trong vani nó hoạt động như dự định.
Index.js - JavaScript
<script>
var socket = io();
function sendMessage() {
var msg = document.getElementById('m');
socket.emit('message', msg.value);
msg.value = '';
return false;
}
</script>
HTML:
<form action="" onsubmit="javascript:sendMessage();">
<input id="m" autocomplete="off" /><button>Send</button>
</form>
Bạn có thể cung cấp bất kỳ đầu ra giao diện điều khiển máy chủ và máy khách nào không? – jmar777
Không có lỗi nào ở hai bên. Đó là những gì Im tìm thấy bực bội. –