Drkcore

20 07 2011 javascript Tweet

Node.jsとWebSocketでchatサーバーをつくる

週末にみんなNode.jsいじっていて楽しそうだったので、写経してみたら

TypeError: Cannot call method 'set' of undefined

って言われてうごかなかったので、調べたらdeprecatedらしい。

なので、コメントアウトして動かしてみた。

var http = require('http'),
    fs = require('fs'),
    ws = require('websocket-server');

var httpServer = http.createServer(function (req, res) {
  var docroot = "public";
  var response = function(data) {
      res.writeHead(200, {'Content-Type': 'text/html'});
      res.end(data);
  };

  fs.readFile(docroot+req.url, function(err, data) {
     if(err)
     response(err.message);
     else
     response(data);
  });
});

var wsServer = ws.createServer({
  server: httpServer,
  origin: "http://localhost:8124"
});

wsServer.addListener("connection", function(conn) {
             var username = "user_"+conn.id;
//           conn.storage.set("username", username);
             conn.send("WebSocketサーバーに接続しました");
             conn.send("あなたの名前は " + username + " です");
             conn.broadcast(username+" が接続しました");

             conn.addListener("message", function(data) {
                          if(data == "ping")
                          conn.send("pong");
                          else
                          wsServer.broadcast(username+": "+data);
                      });
             });

wsServer.addListener("close", function(conn) {
            conn.broadcast(username+" が切断しました"); 
             });
wsServer.listen(8124);
console.log('Server runnning at http://127.0.0.1:8124/');

ProductName 徹底解説 HTML5 APIガイドブック コミュニケーション系API編
小松 健作
秀和システム / 2730円 ( 2010-12 )


About

  • もう5年目(wishlistありマス♡)
  • 最近はPythonとDeepLearning
  • 日本酒自粛中
  • ドラムンベースからミニマルまで
  • ポケモンGOゆるめ

Tag

Python Deep Learning javascript chemoinformatics Emacs sake and more...

Ad

© kzfm 2003-2021