帖子数 46
소켓을 모르고서는 아니 되겠길래 공부를 하다가 하나 만들어 보았습니다
( 사실 여기저기서 주워 모았음.. ^.^)
먼저 TCP소켓을 알아야 UDP및 RAW소켓을 이용한 플밍이 가능하리하는 생각에 ...
짐작하셨겠지만 전 왕초보입니다.. 그래서 공부해야될 것이 너무 많이 있네요...
타임서버와 클라이언트를 만들어 보았습니다..
부족한것이 많은 거지만 소켓공부하려고 만든거니까 잡다한 건 뺐습니다..
최소한의 동작만.. 나중에 더 추가하려고 합니다.
지금은 아는게 별로 없어서리...
혹시나 했는데 다른 타임서버와도 연결이 되네요..
이런.... 사실 놀랬음..
한번 해보세요.. 신기해요..
( 사실 여기저기서 주워 모았음.. ^.^)
먼저 TCP소켓을 알아야 UDP및 RAW소켓을 이용한 플밍이 가능하리하는 생각에 ...
짐작하셨겠지만 전 왕초보입니다.. 그래서 공부해야될 것이 너무 많이 있네요...
타임서버와 클라이언트를 만들어 보았습니다..
부족한것이 많은 거지만 소켓공부하려고 만든거니까 잡다한 건 뺐습니다..
최소한의 동작만.. 나중에 더 추가하려고 합니다.
지금은 아는게 별로 없어서리...
#----------------------------------------------------------
# 타임서버 v0.1
#
#----------------------------------------------------------
import time
from socket import *
PORT = 13
HOST = '' # localhost를 의미
def timeserver_calculation():
return time.asctime( time.gmtime() )
def daytimeserver(host=HOST, port=PORT, backlog=5):
serversock = socket(AF_INET, SOCK_STREAM)
serversock.bind( (host,port) ) # 튜플이라!
serversock.listen(backlog)
print 'Listening on Port %s (%s, %s)' % (port, 'host', backlog)
while 1:
conn, addr = serversock.accept()
daytime = timeserver_calculation()
print 'Connected for %s Client: %s, Port: %s' % (daytime, addr, port)
conn.send(daytime)
conn.close()
if __name__ == '__main__':
daytimeserver()
혹시나 했는데 다른 타임서버와도 연결이 되네요..
이런.... 사실 놀랬음..
한번 해보세요.. 신기해요..
#----------------------------------------------------------
# 타임클라이언트 v0.1
#
#----------------------------------------------------------
import sys
from socket import *
BUFSIZE = 1024
HOST = 'localhost'
#HOST = '203.254.163.74' # time.kriss.re.kr
PORT = 13 # daytime
def daytimeclient(host=HOST, port=PORT):
clientsock = socket(AF_INET, SOCK_STREAM)
try:
clientsock.connect( (host, port) )
except:
print 'connect: Connection retused'
return
svr_time = clientsock.recv(BUFSIZE)
print svr_time
clientsock.close()
if __name__ == '__main__':
daytimeclient()
