サンプルプログラム集4(NP python編)

TCPサーバー
from sys import argv
port=int(sys.argv[1]) if len(argv)>1 else 9999
from socket import socket,AF_INET,SOCK_STREAM
sock=socket(AF_INET,SOCK_STREAM)
sock.bind(('localhost',port))
sock.listen(1)
print("listening on port {}".format(port))

s,ad=sock.accept()
try:
  print('connection from',ad)
  while True:
    data=s.recv(1024)
    if not data : break
    print(data.encode(),end="")
finally:
  s.close()

ソース(srv1.py)

クライアント

from sys import argv,stdin
import socket
host=sys.argv[1] if len(argv)>1 else 'localhost'
port=int(sys.argv[2]) if len(argv)>2 else 9999

with socket.create_connection((host,port)) as sock:
  for line in stdin:
    sock.send(line.encode())

ソース(client1.py)

オウム返しするサーバ

クライアント

ブロックされないサーバ