Python/Network2019. 1. 30. 15:32

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()


Posted by cwisky