Python TCP Server, Client example
각 파일의 하단에 있는 다음의 코드는 파이썬 인터프리터가 직접 실행하는 경우에만 __name__ 변수의 값이 '__main__'이 되므로 다른 모듈에 의해서 이 파일이 사용될 때는 바로 실행되지 않고 함수 호출시에만 실행되도록 하기 위한 것이다
즉, python TCP_Server.py<enter> 으로 실행하는 경우에만 __name__ 변수의 값이 '__main__' 이다
TCP_Server.py
import socket
def Main():
host = "127.0.0.1"
port = 5000
s = socket.socket()
s.bind((host,port))
s.listen(1)
print("서버 대기 중...")
c, addr = s.accept()
print ("Connection from: " + str(addr))
while True:
data = c.recv(1024)
if not data:
break
print ("from connected user: " + str(data.decode()))
data = str(data.decode()).upper()
print ("sending: " + str(data) )
c.send(data.encode())
c.close()
if __name__ == '__main__' :
Main()
TCP_Client.py
import socket
def Main():
host = "127.0.0.1"
port = 5000
s = socket.socket()
s.connect((host, port))
message = input("->")
while message != 'q':
#print(message)
s.send(message.encode())
data = s.recv(1024) # buffer
print ('Received from server: ' + str(data.decode()))
message = input("->")
s.close()
if __name__ == '__main__' :
Main()