我正在尝试实现nntp服务器。但看起来我对多行响应有问题。当我发送响应客户端关闭连接。我正在使用雷鸟和SeaMonkey作为客户。
我注意了解我的反应有什么不对。谢谢。
[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 <user0@xxx.com>
[S] Tue Jan 28 11:32:44FET 2014
[S] <10100@xxx.com>
[S] .
[C] HEAD 10100
[S] 221 10100 <10100@xxx.com>
[S] Path: news.foo.bar!not-for-mail
[S] From: User0<user0@xxx.com>
[S] Newsgroups: group1
[S] Subject: Subject 2104406756
[S] Date: Tue Jan 28 11:32:44FET 2014
[S] Message-ID: <10100@xxx.com>
[S] .upd1:
我在Thunderbird中安装了插件,用于调试客户端(TBTracer)的通信量,看起来客户端无法理解我的多行响应。客户只收到第一部分的答复。例如,XOVER的响应是多行的。
NNTP 200 NNTP服务就绪,允许投递。 NNTP模式读取器 允许NNTP 200投递 NNTP群group1 NNTP 221 1 10100 10100 NNTP XOVER 10100-10100 NNTP 224 NNTP退出
根据RFC 3977
3.1.1。多行数据块
我试过发送不同类型的线路,但没有成功。例如:
String r = "224\r\n10100\r\n6 Oct 2000 04:38:40\r\n<10100@xxx.com>\r\n.\r\n";发布于 2014-02-05 10:03:19
答案很简单。RFC 2980
输出的每一行都将用文章编号格式化, 后面跟着概述数据库中的每个标头或 文章本身(当数据在概述中不可用时) 数据库),以制表符分隔。 在不存在数据的情况下,必须提供一个空字段(即输出将使两个制表符相邻)。
示例:111\tSubject\tUser\tDate\t111\t\t
https://stackoverflow.com/questions/21425325
复制相似问题