とにかくすぐsocket.ioを使ってみたい

「socket.io 何ができるかがだいたいわかった。とにかくすぐsocket.ioを使ってみたい」人に
この記事を書きました!
なるべく簡単に構成するように心がけています。
目次
前提
- js, htmlなどの知識がある
- node.jsがすでにインストールしている
- プログラミングの基本は理解できる
フォルダの構成
作るのは、app.jsとindex.html

最初は、任意のフォルダを作ってください。
プログラムを用意する
次にそのフォルダに入って
npm install socketio
このコマンドが、node_modulesフォルダを作ってくれます。
必要なライブラリーもこのフォルダに入っています。
package-lock.jsonも一緒に作ってくれます。このファイルは今特に気にしなくて良いです。
次に
app.jsファイルを用意します。ファイルの中身は下
記となります。
/*
とにかくすぐSocket.ioを使ってみたい
*/
var http = require('http');
var socketio = require('socket.io');
var fs = require('fs');
var server = http.createServer(function(req, res) {
res.writeHead(200, {'Content-Type' : 'text/html'});
res.end(fs.readFileSync(__dirname + '/index.html', 'utf-8'));
}).listen(3000);
var io = socketio.listen(server);
io.sockets.on('connection', function(socket) {
socket.on('client_to_server', function(data) {
io.sockets.emit('server_to_client', {value : data.value});
});
});
続いて、index.htmlファイルを用意します。ファイルの中身は下記となります。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>とにかくすぐSocket.ioを使ってみたい</title>
<link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript" src="/socket.io/socket.io.js"></script>
</head>
<body>
<div class="container">
<br>
<div class="alert alert-success" role="alert">
<h3>とにかくすぐSocket.ioを使ってみたい</h3>
<hr>
<form>
<div class="form-group">
<label for="msgForm">メッセージ</label>
<input type="text" class="form-control" id="msgForm">
</div>
<button type="submit" class="btn btn-success">送信</button>
</form>
</div>
<div id="chatlogs"></div>
</div>
<script type="text/javascript">
//
var socket = io.connect();
socket.on("server_to_client", function(data){appendMsg(data.value)});
//
function appendMsg(text) {
$("#chatlogs").append("<div class='col-lg-12 alert alert-info'>" + text + "</div>");
}
//
$("form").submit(function(e){
var message = $("#msgForm").val();
$("#msgForm").val('');
socket.emit("client_to_server", {value : message});
e.preventDefault();
});
</script>
</body>
</html>
プログラム起動する
このフォルダのrootで下記のコマンドを実行します。
node app.js
そうしましたら、ブラウザを開いて、http://localhost:3000にアクセスしてみます!
下の画面が出てくるはずです。

チャット機能をテストするので、二つのブラウザーを開いて、動作確認をしましょう!
片方のメッセージ欄にメッセージを入れて、エンターキーを押すと、両方の画面に
同じメッセージが表示されることが確認できます!
大成功!

この記事のソースコードはGitHubに公開しています!ご参考ください。
https://github.com/kawashimaken/try-socket-io-now
まとめ
いかがでしょうか!
簡単にsocket.ioを使って、速攻でチャットアプリを作りました!笑。
これをベースにして、色々テストしたり、遊んだりするのが楽しいですよね。
世界一簡単なsocket.ioを試す方法でした!笑。
[amazonjs asin=”B01N2Y16BQ” locale=”JP” title=”JavaScriptエンジニアのためのNode.js入門”]
[amazonjs asin=”4873116066″ locale=”JP” title=”Nodeクックブック”]