読者です 読者をやめる 読者になる 読者になる

kentsu.log

何かその時の興味でいろいろする人。最近はScala使ってる。アルゴリズムと自然言語処理、深層学習が大好き。

java8でソケットを使う

今回はjava8でソケットを使ってみる

 

ずっとCの話だったりして全くjavaの話は載せていなかったけど

 

自分が使う言語の中で一番使えるのはjavaっていう事実

 

 

ソケットで通信を扱うってどうやんの?

これがわかればあとは単純なコード書きだけ

 

ソケットを使う通信をプログラムするなら、サーバーとクライアントの2つのサイドを別々に作る必要がある

 

サーバー側では受動的ソケットという、接続待ちするソケットを作成し

クライアント側では能動的ソケットという、受動的ソケットに接続しにいくソケットを作成する

 

イメージは、受動的ソケットが凹で能動的ソケットが凸みたいな感じ

能動的ソケットが受動的ソケットに接続が完了した段階で通信が行われる

 

この時に、通信を行うのは受動的ソケットと受け入れソケットっていう受動的能動的ソケットが接続した際に生成する受動的ソケット側の新しいソケット

 

そんなこんなを実装して

文字列を一度だけやりとりするだけの簡単なプログラムを書いた

 

tcp client

tcp server

 

今回作成したプログラムを更に改良していくとチャットソフトのようなものができる