< Server >
import socket
HOST='127.0.0.1'
PORT=8099
s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST,PORT))
s.listen(1)
conn, addr=s.accept()
print('[Connected] ',addr)
while True:
data=conn.recv(1024)
if not data: break
conn.send(data)
conn.close()
□ Life cycle : Creating socket → bind → listen → accept → send(recv) → close
□ AF_INET : Adress type of IPv4
□ SOCK_STREAM : TCP
□ listen(1) : It waits until there is a connection.
□ recv(1024) : It receives up to 1024 bytes from the client. The return value is byte object.
< Client >
import socket
HOST='127.0.0.1' #localhost
PORT=8099
s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST,PORT))
print("If you want to exit, Input 'exit()'")
while True:
iData = input(">>>")
if iData == "exit()":
break;
s.send(iData.encode())
rData=s.recv(1024)
print('[Received] ',rData.decode())
s.close()
□ Life cycle : Creating socket → connect → send(recv) → close
□ .encode() : It changes str type to byte object.
□ .decode() : It changes byte object to str type.