1
前もって、私はJavascript、node.js、socket.ioの新人です。それはこれまでかなり驚いています。 :)クライアントデータがサーバーに渡されていません
私は現在、簡単なユーザー名インターフェイスを作成しようとしています。クライアントは自分のユーザ名を入力し、ボタンをクリックすると、ユーザ名をサーバに送信して配列に入れるイベントが発生します。
クライアントが正常に接続され、ハンドシェイクが発生します。それでもソケットはサーバーにデータを送信していません。
サーバー:
var io = require('socket.io').listen(8888);
var players = [];
io.sockets.on('connection', function (socket) {
socket.on('adduser', function(username) {
players.push(username);
console.log("Received: " + username);
});
});
クライアント:助けを
var socket = io.connect('/socket.io/socket.io.js');
function usernameSubmit(){
console.log("Button pressed");
var textfield = document.getElementById('usernamefield');
var username = textfield.value
if (username != ""){
console.log(username);
socket.send('adduser', username);
console.log("Username submitted.");
}
else
console.log("Blank username detected.");
}
ありがとう!
ないかなり。 'send'は普通の古いウェブソケットと似ています。イベント名を指定することはできません。代わりに' message'イベントを発生させます。あなたは正しいですが、 'emit'は' adduser'のような名前付きイベントに使うべきものです。文字列、オブジェクト、またはAFAIKの両方を使用して関数を呼び出すことができます。 –
奇妙なことに、まだサーバーが何も受信していないようです。 – iColor
(私はクライアント側で確認できますが、ユーザー名はうまくいきます) – iColor