はじめに
プログラムや通信の学習、簡易のテストなどでソケットを使うことがあるかと思います。
今回はpythonでsocketを使ったクライアント側のソースコードを書くことがあったのでメモです。
ソケット通信の仕方
通信の仕方として、サーバ側はフリーのツールなどを使用します。
『TCP/IPテストツール』というものを今回は利用させてもらいました
通信方法は、
- 送信側(クライアント)としてサンプルソースを実行
- サーバ側で任意の文字列受信したことを確認
- サーバ側で文字列を返信
- クライエント側で返信内容を確認
という流れです。
サンプルソース
サンプルプログラムです。
4,5行目の接続先情報も任意に変更します。
ツールと接続する場合はこのままで問題ありません。
4,5行目の接続先情報も任意に変更します。
ツールと接続する場合はこのままで問題ありません。
11行目に送信したい任意の文字列を入力してください。
# ソケット通信(クライアント側)
import socket
ip = '127.0.0.1'
port = 4000
info = (ip, port)
socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
socket.connect(info)
pt = ''
# サーバに送信
socket.send(pt.encode("UTF-8"))
# サーバから受信
data = socket.recv(4096).decode()
# サーバから受信したデータを出力
print('サーバーからの回答: ' + str(data))
socket.close()
さいごに
今回はpythonでsocket通信を行う簡単なソースコードの例でした。
複数回通信を往復したい場合は、send,recvの箇所をループにすれば可能です。
通信テストなどちょっとした事で使うことがあると思います。
時間をかけるのがもったいない等があるのでそのままコピペで使っていただければと。
この記事がお役に立ったのなら嬉しいです。
最後までお読みいただきありがとうございます。