Python(6)-TCP通信を使用したファイルへの書き込み

今回は、TCP通信を使用してサーバー側のファイルを書き換えてみようと思います。TCP通信に関しては下記を参照してください。

Python(4)-TCP通信

今回も、ダイアログ無しです。IPとポートも直接コード内に書き込んでおきます。また、書き換えを行うファイルも直接コード内に書き込んであります。

TCPサーバーのアプリケーションは、接続が完了すると、クライアント側に「[*] Connection」と文字列を送信して、受信待ちになります。クライアント側からデータが送られてくると、送られてきたファイルを蓄積します。データの受信が完了すると、指定したファイルに書き込みます。

TCPクライアントのアプリケーションは、接続が完了すると、受信待ちになります。サーバー側から「[*] Connection」と文字列を受信すると、送られてきた文字列を表示します。表示が完了したら指定したファイルのデータを送信します。

下記の例は、TCP_Client.exeをTCP_Server.exeで書き換えたものになります。
書き換え前は、TCP_Client.exeを実行すると、クライアントダイアログが表示されます。

書き換え後は、TCP_Client.exeを実行すると、TCPリスナーダイアログが表示されます。

サーバー側のソースコードは下記のようになります。

このコンテンツを閲覧するにはログインが必要です。お願い . あなたは会員ですか ? 会員について

Python(5)-TCP通信を使用したコマンドラインインタプリタ

今回は、前回作成したTCP通信を使用してサーバー側をコマンドラインで
制御してみようと思います。Pythonで構築したTCP通信ついては下記のページを紹介しています。

Python(4)-TCP通信

前回と同様で、ダイアログ無しです。IPとポートも直接コード内に書き込んでおきます。

TCPサーバーのアプリケーションは、接続が完了すると、クライアント側に「[*] Connection」と文字列を送信して、受信待ちになります。クライアント側からコマンドが送られてくると、送られてきた情報をコマンドラインインタプリタに処理させます。処理した内容を返信します。

TCPクライアントのアプリケーションは、接続が完了すると、受信待ちになります。サーバー側から文字列が送られてくると、送られてきた文字を受信して表示します。表示が完了したら今度は文字を送信できます。

下記の例は、クライアント側がdirコマンドを送信した際の動作になります。

サーバー側の画面では、下記のように表示されています。

サーバー側のソースコードは下記のようになります。

このコンテンツを閲覧するにはログインが必要です。お願い . あなたは会員ですか ? 会員について

Python(4)-TCP通信

今回は、C#でも作成したTCP通信のアプリケーションをPythonを使用して作成してみようと思います。C#で作成したたアプリケーションは下記のページを参考にしてください。

C#言語(3)-TCP通信(クライアント編)
C#言語(4)-TCP通信(リスナー編)

今回はダイアログ無しです。IPとポートも直接コード内に書き込んでおきます。

TCPサーバーのアプリケーションは、接続が完了すると、クライアント側に「[*] Connection」と文字列を送信して、受信待ちになります。クライアント側から文字列が送られてくると、送られてきた文字を受信して表示します。表示が完了したら今度は文字を送信できます。送信と受信を順番に行うような仕組みになっています。

TCPクライアントのアプリケーションは、接続が完了すると、受信待ちになります。サーバー側から文字列が送られてくると、送られてきた文字を受信して表示します。表示が完了したら今度は文字を送信できます。受信と送信を順番に行うような仕組みになっています。

動作させると下記のように文字列を送受信できます。

クライアント側をC#で作成したアプリケーションでも文字列を送受信できます。。

サーバー側のソースコードは下記のようになります。

このコンテンツを閲覧するにはログインが必要です。お願い . あなたは会員ですか ? 会員について

Python(3)-ビンゴマシーン

前回、ビンゴマシーンを作成するために、GUIのベース作成を行いました。GUIのベース作成に関しては、下記のページを参照して下さい。

Python(2)-GUI作成

上記のページでGUIの画面の定義、ラベルの作成、ボタンの作成を行いましたが、ボタンを押したときの動作を記述していなかったので、記述しようと思います。まずは、下記のようにButtonを作成する際にcommadオプションを追加します。オプションとして、command=Start、command=Clearを追加しました。このオプションを追加することで、ボタンを押したときに、指定した関数にジャンプします。



このコンテンツを閲覧するにはログインが必要です。お願い . あなたは会員ですか ? 会員について

Python(2)-GUI作成

Pythonにて、GUIを作成したい場合は、tkinterパッケージでGUIを作成して、PythonからGUIを呼び出します。次回、簡易的なビンゴマシーンを作りたいと思いますので、そのGUIを作成しようと思います。とりあえず下記のようなGUIを作成してみます。

まずは、下記のように、tkinterパッケージをインポートします。



次に、下記のようにtkinterオブジェクトを取得します。これが、GUIを作成するベースのオブジェクトとなるので、rootという変数に保存しておきます。titleメソッドに文字列を入力すると、GUIのタイトルに入力した文字が表示されます。geometryメソッドがGUIの画面サイズです。



GUIの画面にラベルを追加してみようと思います。thinkerオブジェクトには、任意の値を渡せないようです。その為、下記のような、コードを記述するとエラーになります。それでは、どうしたらよいでしょうか?



このコンテンツを閲覧するにはログインが必要です。お願い . あなたは会員ですか ? 会員について

Python(1)-動作確認

2020年より小学校でもプログラミング教育が始まるということで、何か良い言語はないかなと思い、探していたところ、Pythonを試してみることにしました。Raspberry piでも動作するので、PCを用意しなくてもよいので、便利です。まずは、Windows PCでPythonを試していこうと思います。Pythonは下記のサイトからダウンロードできます。

https://www.python.org/

ダウンロードして、インストールが完了したら、まずは、動作確認をしようと思います。下記のように環境変数にPathを追加しておくと、どのフォルダ階層からもPythonコマンドを実行できるので、Pathを追加しておきます。

それでは、コマンドプロンプトを実行して、下記のコマンドを入力してみます。インストールしたPythonのバージョンを確認できます。

python --version

次は、テキストファイルにPythonのコードを記述して実行してみます。下記のようにコードを記述して、.py拡張子で保存します。test-print.pyというファイル名にしました。

print("Hello world.")

ファイルの保存先フォルダにて、下記のコードを実行します。

python test-print.py

下記のように、Hello world.と表示されました。

動作確認はできたので、次回はダイアログを作成しようと思います。

2019年8月14日 | カテゴリー : Python | タグ : | 投稿者 : prog