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

破棄されたブログ

このブログは破棄されました。

Python の socket でデータを送ってみる

ソケットを使ったクライアントプログラムを作成するには、 socket.socket を用いる。

# path/to/telnet.py
import socket
from sys import argv

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    s.connect((argv[1], int(argv[1])))
    while True:
        bytes_ = input('')
        s.sendall((bytes_ + '\r\n').encode('utf-8'))

telnet の送信専用版のようなプログラムであれば、 socket.socket().connect するだけでとりあえずの実装はできる。

動作確認のために 2 つのターミナルを開き、片方で echo サーバを、片方でクライアントを起動する。今回は、ローカルホストの 8000 番ポートを使った。

$ socat -v tcp-listen:8000,reuseaddr system:cat
> 2016/07/08 22:46:25.978179  length=6 from=0 to=5
spam\r
< 2016/07/08 22:46:25.978429  length=6 from=0 to=5
spam\r
> 2016/07/08 22:46:27.813199  length=5 from=6 to=10
ham\r
< 2016/07/08 22:46:27.813349  length=5 from=6 to=10
ham\r
$ python3 path/to/telnet.py localhost 8000
spam
ham

echo サーバにデータが送られていることが確認できた。

広告を非表示にする