#!/usr/local/bin/tt

:r disp_sockinfo

### ECHO SERVER ###
if( argc!=3 )
	dying("Usage[EchoServer(TCP)]: %s SV-IP SV-Port\n",CMD);

ip  =shift()							# (String) "127.0.0.1"|"localhost"
port=shift()							# (String) "7"        |"echo"

# サーバー用ソケットの作成
sock=tcp_socket(ip,port);				print("tcp_socket: sock=%d\n",sock);
if( sock==NULL )
	dying("Error: cannot make socket!!\n")

disp_sockinfo(sock)

# メインループ
while( txrx=listen(sock) ){

	# Listen & Accept の表示
	print("listen:  txrx=%d/sock=%d\n",txrx,sock);

	disp_sockinfo(sock)
	disp_sockinfo(txrx)

	# 受信(デフォルトソケットを利用)
	(buf,len)=rx_tcp()
	if(len==NULL) break;				# 回線クローズ
	print("From: Message=\"%s\"(Length=%d)\n",buf,len)

	disp_sockinfo(sock)
	disp_sockinfo(txrx)

	# 終了処理
	if( buf==":quit" ){ ret = tx_tcp("<EOF>"); exit(0); }

	# 送信(デフォルトソケットを利用)
	ret = tx_tcp(buf,len)
	print("To  : Message=\"%s\"(Length=%d)\n",buf,len)

	disp_sockinfo(sock)
	disp_sockinfo(txrx)

}
