winsock今までサーバ―クライアント間の通信を挟むようなプログラムを書いたことがなかったのですが、今後、そういう技能も必要になりそうなので、試しで書いてみました。将来的にはC++でサーバ-クライアント間で画像通信などができたら良いと考えていますが、全く知識がないので、まずはサーバ側のプログラムとクライアント側のプログラムを使って、その間のデータをやり取りするということをやってみたいと思います。環境がWindowsなので、Winsock2を使ってみることにしました。WinsockはWindows環境でソケットを用いてネットワークプログラミングする際のAPIで、TCP/IPなどを用いた通信ができるようになります。いう話ですが、通信する際の口になるようなもので、もっと具体的に例えると電話機のようなものです。今回は、まず簡単なプログラムを書いてみるということで、クライアント側から2つの数字を与え、サーバ側でこの2つの数字を加算して返してくれるプログラムを書きました。何に使うかとかは考えておらず、あくまで学習用のテストプログラムという位置づけです。Studioで2つのソリューションを作り、それぞれ実行しました。よって、サーバとクライアントのPCは同じで、繋ぐときのIPアドレスはこのPCのIPアドレスを指定してやっています。ソースコード以下に、サーバ側とクライアント側のソースコードを示します。実行例まず、接続を待ち受けるサーバ側のプログラムを起動してみます。以下のように、サーバ側プログラムを立ち上げると受信待ちの状態になります。ここで、クライアント側のプログラムを立ち上げていきます。ここで、サーバのIPアドレスとポート番号を求められるので、それぞれ入力していきます。サーバとクライアントに同じPCを使っているので、このPCのIPアドレスがサーバのIPアドレスになります。数字の入力を求められるので、2個入力するとその加算結果がサーバで計算されて返却されてきます。サーバ側のコンソールは、このとき以下のような画面になっています。正常に送受信ができているように見えます。まとめ今回は簡単にソケットプログラミングのコードを書いてみました。応用することで画像データなども送れそうなので、今度は画像データを送ったり、サーバ用、クライアント用のPCを作って送受信したりしてみたいですね。C++やPythonの間でデータのやり取りをするなど、違う言語で書いたプログラム間のデータのやり取りなどにも応用できるかもしれません。記事は見つかりませんでした。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。