首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NNTP服务器实现

NNTP服务器实现
EN

Stack Overflow用户
提问于 2014-01-29 08:04:30
回答 1查看 484关注 0票数 2

我正在尝试实现nntp服务器。但看起来我对多行响应有问题。当我发送响应客户端关闭连接。我正在使用雷鸟和SeaMonkey作为客户。

我注意了解我的反应有什么不对。谢谢。

代码语言:javascript
复制
[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。多行数据块

  1. 该块由零个或多个“行”序列组成,每个行都是以CRLF对结尾的八字节流。除了这些行尾,流不能包括八进制NUL、LF或CR。

我试过发送不同类型的线路,但没有成功。例如:

代码语言:javascript
复制
String r = "224\r\n10100\r\n6 Oct 2000 04:38:40\r\n<10100@xxx.com>\r\n.\r\n";
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-05 10:03:19

答案很简单。RFC 2980

输出的每一行都将用文章编号格式化, 后面跟着概述数据库中的每个标头或 文章本身(当数据在概述中不可用时) 数据库),以制表符分隔。 在不存在数据的情况下,必须提供一个空字段(即输出将使两个制表符相邻)。

示例:111\tSubject\tUser\tDate\t111\t\t

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21425325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档