我試圖實現nntp服務器。但看起來我有多線路響應問題。當我發送響應客戶端關閉連接。 我使用Thunderbird和SeaMonkey作爲客戶端。NNTP服務器實現
我注意幫助理解我的反應有什麼問題。謝謝。
[S] server
[C] client
[S] 200NNTP Service Ready,posting permitted.
[C] MODE READER
[S] 200 Posting allowed
[C] GROUP group1
[S] 221 1 10100 10100
[C] XOVER 10100-10100
[S] 224
[S] 10100
[S] Subject 2104406756
[S] User0 <[email protected]>
[S] Tue Jan 28 11:32:44FET 2014
[S] <[email protected]>
[S] .
[C] HEAD 10100
[S] 221 10100 <[email protected]>
[S] Path: news.foo.bar!not-for-mail
[S] From: User0<[email protected]>
[S] Newsgroups: group1
[S] Subject: Subject 2104406756
[S] Date: Tue Jan 28 11:32:44FET 2014
[S] Message-ID: <[email protected]>
[S] .
upd1:
我在雷鳥安裝插件在客戶端(TBTracer)調試交通,看起來像客戶端無法理解我的多行響應。客戶只收到第一部分回覆。例如,XOVER的響應是多行的。
[NNTP] [13:54:29] 200 NNTP服務就緒,允許發佈。
[NNTP] [13時54分29秒] MODE READER
[NNTP] [13時54分30秒] 200發佈允許
[NNTP] [13時54分30秒]組group1
[NNTP] [13時54分31秒] 221 1 10100 10100
[NNTP] [13時54分31秒] XOVER 10100-10100
[NNTP] [13點55分15秒] 224
[NNTP] [13點55分15秒] QUIT
根據RFC 3977:
3.1.1。多行數據塊
- 塊包括零個或多個「線」的序列,每個 是與一個CRLF對結束八位字節流。除了這些行結尾的 之外,流必須不包括八位位組NUL, LF或CR。
我試過發送不同類型的行但沒有任何成功。 例如:
String r = "224\r\n10100\r\n6 Oct 2000 04:38:40\r\n<[email protected]>\r\n.\r\n";