server.py
import socket
bind_host="0.0.0.0"
bind_port=50000
#AF_INETで、IPv4, SOCK_STREAMで、TCP プロトコルを利用
server=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind((bind_host, bind_port))
server.listen(5)
print("host: "+bind_host)
print("port: "+str(bind_port))
while True:
client, addr=server.accept()
print("from:"+ addr[0]+" "+str(addr[1]))
while True:
print("waiting for client response...")
rec=client.recv(1024)
print(">"+rec.decode('utf-8'))
res=input() #python3
#res=raw_input() #python2
client.send(res.encode('utf-8'))
if len(rec)==0:
client.close()
break
client.py
import socket
target_host="127.0.0.1"
target_port=50000
client=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect((target_host, target_port))
while True:
str=input() #python3
#str=raw_input() #python2
client.send(str.encode('utf-8'))
print("waiting for server response...")
response=client.recv(4096)
print(">"+response.decode('utf-8'))
server# python server.py host: 0.0.0.0 port: 50000
client# python client.py
server# python server.py host: 0.0.0.0 port: 50000 from:127.0.0.1 40349 <- client.pyを実行したタイミングで、表示される waiting for client response...
client# python client.py test <-- testと入力 waiting for server response... <-- test Enterしたら、表示される
server# python server.py host: 0.0.0.0 port: 50000 from:127.0.0.1 40349 waiting for client response... >test <- client.pyで、testと入力したタイミングで、表示される ok <- 入力する waiting for client response... <- ok Enterしたら表示される
client# python client.py test <-- testと入力 waiting for server response... <-- 表示される >ok
一般向けサイト
ITエンジニア向けサイト
英語サイト
Portfolio
Copyright (c) 2025 現場で必要なネットワーク技術入門 All Rights Reserved.