7.2.1 ethernet TCP server - 문자열 송수신
다음과 같은 순서로 수행합니다.
enet
모듈 import 후, 생성자로 ENet 객체 생성.멤버변수로 IP주소와 port번호를 설정. (remote port 설정은 필요없음.)
open
멤버 프로시져로 ethernet socket 열고,listen()
,accept()
함수를 수행함.state()
멤버변수로 상태 확인.send
,recv
멤버 프로시져로 송수신 수행.close
멤버 프로시져로 통신 연결 닫기.
# 1. enet 모듈 import 후, 생성자로 ENet 객체 생성
import enet
var svr=enet.ENet("tcp")
# 2. IP주소와 port번호 설정
svr.ip_addr="192.168.1.172" # remote (상대방) IP address
svr.lport=51001 # local (자신) port
# (port no. 49152–65535 contains dynamic or private ports)
# 3. ethernet socket 열기
svr.open
var ret
ret=svr.listen()
ret=svr.accept() # client로부터의 connect 대기
print svr.state() # 1이면 정상
# --------------------------------
# 4-1. string 송신
svr.send "Welcome, I am a TCP server.\n"
# 4-2. string 수신
# (5초간 수신 없으면 *TimeOut 레이블로 jump)
svr.recv 5000,*TimeOut
var msg=result() # 수신된 문자열
print msg
delay 1.0
# --------------------------------
# 5. ethernet socket 닫기
svr.close
print svr.state() # 0이면 정상
delay 1.5
end
*TimeOut
print "time out!"
svr.close
end
Last updated
Was this helpful?