※ 강제 FR 경유, 레지스터리 변경, 받는쪽에서 강제 FR 경유 사용가능.
HKCU\Software\SK Communications\Messenger\Network
"force use FR = Y" 없으면 추가.


1. 파일 받기

1.1 리눅스에서 파일 받기

리눅스 <-- Chat Session
WHSP 0 ring0320@nate.com FILE REQUEST%091%09ChangeLog.txt|304640|1:2147483647:46

리눅스 --> DP Session
CTOC 10 ring0320@nate.com N 51
REQC NEW 124.136.189.153:5004 902126197:192441888
리눅스 <-- DP Session
PNAK 10

리눅스 <-- DP Session
CTOC 0 ring0320@nate.com 47
REQC RES 192.168.0.1:5004 902126197:192441888

리눅스 <-- DP Session
CTOC 0 ring0320@nate.com 46
REQC RFR 10.19.0.79:5004 902126197:192441888

# 윈도즈에서 취소
리눅스 <-- Chat Session
WHSP 0 ring0320@nate.com FILE CANCEL%091%091:2147483647:46

1.2 윈도즈 파일 보내기

윈도즈 <-- DP Session
CTOC 0 ring0320@lycos.co.kr 51
REQC NEW 124.136.189.153:5004 902126197:192441888

윈도즈 --> DP Session
CTOC 138 ring0320@lycos.co.kr N 47
REQC RES 192.168.0.1:5004 902126197:192441888
윈도즈 <-- DP Session
PNAK 138

윈도즈 --> DP Session
CTOC 140 ring0320@lycos.co.kr U 46
REQC RFR 10.19.0.79:5004 902126197:192441888


2. 파일 보내기

2.1 리눅스에서 파일 보내기

리눅스 --> Chat Session
WHSP 4 ring0320@nate.com FILE REQUEST%091%091201674348330.png|42187|426:902126197:27

리눅스 <-- DP Session
CTOC 0 ring0320@nate.com 41
REQC NEW 192.168.0.1:0 10014827278:6301

리눅스 --> DP Session
CTOC 26 ring0320@nate.com N 48
REQC RES 124.136.189.153:5004 10014827278:6301

리눅스 <-- DP Session
CTOC 0 ring0320@nate.com 57
REQC FR 211.234.239.175:5004 10014827278:6301 406378858

# 윈도우에서 취소
리눅스 <-- Chat Session 
WHSP 0 ring0320@nate.com FILE CANCEL%091%09426:902126197:27

2.2 윈도즈에서 모니터링
윈도즈 --> DP Session
CTOC 742 ring0320@lycos.co.kr N 41\r\n
REQC NEW 192.168.0.1:0 10014827278:6301\r\n

윈도즈 <-- DP Session
CTOC 0 ring0320@lycos.co.kr 48\r\n
REQC RES 124.136.189.153:5004 10014827278:6301\r\n

윈도즈 --> DP Session
REFR 743 ring0320@lycos.co.kr\r\n

윈도즈 <-- DP Session
REFR 743 211.234.239.175 5004 406378858\r\n

윈도즈 --> FR Session
FRIN 0 ring0320@lycos.co.kr 858\r\n

윈도즈 <-- FR Session
FRIN 0 100\r\n

윈도즈 --> DP Session
CTOC 744 ring0320@lycos.co.kr N 57\r\n
REQC FR 211.234.239.175:5004 1 10014827278:6301 406378858\r\n


[정리]
1. 프로토콜 제작시 상대편 ID를 포함해서 Command를 만든다.
   => 받는 사람 역시 DP서버에서 상대편 ID로 바꿔져서 도착한다.
2. 파일 보내는 쪽에서는 RFR을 보낸다.
3. 파일 받는 쪽에서 DP서버에 FR서버 정보를 얻는다. ( REFR명령 )
   => 보내는 쪽에서는 REFR명령을 하지 않음.
4. DP Session에서는 메시지가 변형된다.
   => Chat, P2P Session은 보낸 메시지가 그대로 전달된다.
   => 특히 P2P Session은 서버를 거치지 않기 때문에 변형이 없이 그대로 보인다. 

