#はじめに
この記事はなんとなくJSとかをやっている学生がメモ変わりに書いているものです。内容は期待しないでください。
#1.そもそもサーバークライアント通信とは
サービスを提供するコンピュータのサーバとサービスを受け取るコンピュータのクライアントで行う通信方式。ネットワークとかはサーバから放射状にクライアントに繋がっています。これとよく対比されるのがP2P通信でP2P型は全てのコンピュータがサーバとクライアントを兼ね備えています。
#2.tmuxを起動してみる
今回はUbuntuで行うのでiTerm2で仮想環境を起動するよ。
起動したところで
1.Virtual Box(バーチャルボックス)
2.Vagrant(ベイグラント)
という2つのソフトウェアを使った仮想環境でUbuntuを使用します。
cd ~/vagrant/ubuntu
vagrant up
vagrant ssh
Ubuntuがインストールされたディレクトリに移動。vagrant upは仮想的なPCにインストールされたUbuntuを起動するコマンドで,vagrant sshはVagrantの仮想マシンがセットされている状態でSSHに接続します。
コンソールが起動したところでtmuxを起動。
tmux
ここでtumuxの簡単なコマンドをまとめておきます。
コマンド | 意味 | 記述する場所 |
---|---|---|
tmux | 起動 | コンソール |
control+b→d | 仮想端末から離れる | 仮想端末 |
tumux a | 仮想端末に接続する | コンソール |
control+b→c | ウィンドウ作成 | 仮想端末 |
control+b→数字 | 数字にウィンドウ移動 | 仮想端末 |
control+b→p | 前の数字に移動 | 仮想端末 |
control+b→n | 後の数字に移動 | 仮想端末 |
control+b→x | ウィンドウを閉じる | 仮想端末 |
#3.tmuxを使ってサーバークライアント通信をする
まずウィンドウを2つにしたところで片方のウィンドウに以下の内容を記述します。
whileというループをを行うため,while:;doとdoneの中にループする内容を記述しています。while内のncはncコマンドというもので今回は
nc -l ポート番号
という-lでリッスンモードとし指定したポート番号で受け待ちを行っています。今回の場合はアクセスがあった場合はechoでThank you!と表示するようにしています。
次にもう片方に以下のように記述します。
127.0.01は自分自身を示すIPアドレスです。この場合telnetを使ってIPアドレスの8000番ポートにアクセスしています。telnet は、リモートのコンピューターにアクセスし、ターミナルのセッションを開始するためのコマンドです。セキュリティ上の理由からsshなどの代替プロトコルを使うことが多いらしい。
先ほどの記述を実行するとechoの内容が表示されているためサーバークライアント間通信を行うことができました!!
#4.ついでにtmuxでチャットをしてみる
ncコマンドのファイルを転送する(FTP)を使ってチャットをしてみます。
サーバ側
nc -l -p ポート番号 ファイル名
接続側
以上を記述してみます。
今回はサーバ側に
nc -l -p 8000
接続側に
nc 127.0.01 8000
を記述しました。
コンソールに文章などを記述し,サーバ側と接続側に文章が記述されていれば成功です。お疲れ様でした。
###IPアドレスとは
IPアドレスとは,0~255の整数4つで構成された32bitサイズのインターネット上の住所です。
IPはInternet Protocol(インターネット・プロトコル)の略称。