昔ながらのsocket通信に出くわしたので試しにPythonで組んでみました。
実際のところ
送信側
import socket import time with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.connect(('127.0.0.1',9999)) s.sendall(b"hello") time.sleep(2) with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.connect(('127.0.0.1',9999)) s.sendall(b"bye")
受信側
#!/usr/bin/env python3 import os import sys import socket s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.bind(('127.0.0.1', 9999)) s.settimeout(None) s.listen(1) while True: conn, addr = s.accept() while True: data = conn.recv(1024) if not data: break print('data : {}'.format(data)) if (data == b"hello"): print("hello done") break if (data == b"bye"): print("bye done") break conn.close() s.close()
やってみると
$ python3 socktest.py data : b'hello' hello done data : b'bye' bye done