标签: network-protocols

我怎么知道什么时候关闭HTTP 1.1 Keep-Alive连接?

我正在用Java编写Web服务器,我希望它支持HTTP 1.1 Keep-Alive连接.但是,如何判断客户端何时发送给定连接的请求?(如双线或类似物).

让我们看看stackoverflow如何处理这个非常模糊的问题 - 谷歌在技术规范和模糊语言中陷入困境的答案.我想要一个非C程序员的简明英语答案:)


我知道了.这证实了我怀疑不得不依赖于SocketTimeoutException.但是我不确定我是否可以从客户端依赖它来表明它已完成连接 - 这将允许我在大多数情况下更快地关闭连接 - 而不是等待超时.谢谢

java http network-protocols http-headers

8
推荐指数
1
解决办法
6894
查看次数

用于实验协议设计和开发的工具?

是否有任何开源,高级工具可以使用GUI促进和简化实验网络协议(TCP/UDP)的开发?

基本上,像动态状态机编辑器,可以让你定义"数据包","消息","状态","验证器","处理程序"等.

优选地,这样的工具将足够全面以处理协议的所有相关方面(即客户端和服务器),以便高级协议描述可以被序列化为XML/RDF文件,其中它可以用于动态创建用于实现协议的应用程序代码(即在Python中).

user-interface state protocols network-protocols custom-protocol

8
推荐指数
1
解决办法
3249
查看次数

通过UDP实现ack?

我们有一个系统(内置C),可以通过UDP进行通信.最近我们发现有必要保证数据包的传送.我的问题是:基于UDP的系统最少增加什么才能确保使用ack数据包进行传输?此外,理想情况下无需操纵数据包标头.我们对数据包进行应用程序级控制,包括序列号和ack/nack标志.我想知道这是否是一个失败的原因,我们尝试做的任何事情基本上都是一个有缺陷和破坏的TCP版本.基本上,我们可以通过极简主义改进来实现有保证的交付(我们不需要TCP的许多功能,例如拥塞控制等).谢谢!

c networking udp tcp network-protocols

8
推荐指数
3
解决办法
8891
查看次数

Python TCP堆栈实现

是否有一个实现独立TCP堆栈的python库?

我不能使用通常的python套接字库,因为我通过套接字接收数据包流(它们通过此套接字通过隧道连接到我).当我收到一个寻址到特定端口的TCP SYN数据包时,我想接受连接(发送一个syn-ack),然后获取另一端发送的数据(适当地确认).

我希望已经编写了某种TCP堆栈,我可以利用它.有任何想法吗?我过去曾经使用过lwip作为一个C项目 - 在python中沿着这些方向的东西是完美的.

python network-programming tcp network-protocols raw-sockets

8
推荐指数
1
解决办法
7190
查看次数

具有多宿主功能的SCTP替代TCP

SCTP具有本机多宿主支持,如果我理解正确,将在主接口关闭时通过辅助NIC自动重新路由您的数据包.我通过编写自定义路由守护程序来复制此功能,以便在主NIC发生故障时修改路由表.我想尝试使用SCTP.

在Steven的Unix网络编程V1第3版第288页中,它说:

对于此示例,我们使用一对多样式的服务器.我们做出这个选择有一个重要原因.可以修改第5章中的示例以通过SCTP一个小的更改来运行:修改socket 函数调用以指定 IPPROTO_SCTP而不是 IPPROTO_TCP作为第三个参数.但是,简单地进行此更改不会利用SCTP 除多宿主之外提供的任何其他功能.

现在我尝试了相当差的结果.

我正在使用安装了libsctp1,libsctp-dev和lksctp-tools软件包的Ubuntu 9.04上运行.我已经使用SCTP正常工作的lksctp-tools进行了验证.

我拿了UNP示例代码并修改了如上所示~/unpv13e/tcpcliserv/tcpserv04.c~/unpv13e/select/tcpcli02.c程序.

这是一个简单的echo服务器/客户端对.服务器运行显然正在侦听,但客户端退出说连接被拒绝.由于netstat不支持SCTP我使用的lsof -n | grep tcpserv显示我:

tcpserv04 6208      alice    3u     sock        0,4            33889 can't identify protocol
Run Code Online (Sandbox Code Playgroud)

除了tcpserv04有某种套接字打开之外,这似乎并没有告诉我什么.

我已经重新编写并测试了perl中的原始TCP客户端,所以我将其切换到sctp并且能够连接虽然在stdin上管道文件没有完全正常工作(通过接收回声的回来挂了大约2/3) .

似乎UNP暗示将TCP应用程序移植到SCTP以利用多宿主是微不足道的,但基于这种简单的尝试似乎并非如此.

任何人都可以指点我一个好的教程,或者在将TCP应用程序移植到一对一风格的SCTP以利用多宿主的时候注意任何问题吗?

sockets network-programming tcp network-protocols sctp

8
推荐指数
1
解决办法
2524
查看次数

IPX/SPX和TCP/IP的性能

据我所知,IPX和SPX都提供类似于TCP/IP的连接服务.在这里,IPX类似于IP,SPX类似于TCP,因此渴望了解这一点.

局域网中IPX/SPX的性能如何超过TCP?
为什么在局域网中如果IPX/SPX的性能优于TCP的性能,则不单独使用LAN?

我搜索了互联网,并在几个链接中登陆,但它似乎没有传达一些明确的原因 - http://en.wikipedia.org/wiki/IPX/SPX.有任何想法吗 ?

performance network-programming tcp protocols network-protocols

8
推荐指数
1
解决办法
1万
查看次数

想要仅为一个应用程序实现VPN

我正在寻找为我的软件添加对VPN的支持,

我知道PPTP和OpenVPN,两者进行系统范围的绑定,安装TAP驱动程序,以便所有应用程序将其流量路由到那时.

我怎样才能为我的应用程序实现VPN支持?有没有图书馆,示例,提示或方法呢?

我的软件实际上是用C++/MFC制作的.使用标准CAsyncSocket.

c++ vpn proxy networking network-protocols

8
推荐指数
1
解决办法
1万
查看次数

网络系统 - "阻塞"和"非阻塞"协议之间的区别是什么?

在计算机网络中 - 实际上在很多其他领域 - 我听到很多关于术语"阻塞","非阻塞","同步"和"异步"的引用.我想知道是否有人能用非常直接/简单的术语解释这些意味着什么?

networking network-protocols

8
推荐指数
2
解决办法
1万
查看次数

如果您通过自己的IP连接到您的计算机,流量是否会离开您的NIC然后又回来了?

我相信如果您使用127.0.0.1,流量永远不会离开NIC,但我想知道当您使用计算机的实际IP地址时是否也是如此.

networking tcp network-protocols

8
推荐指数
1
解决办法
1527
查看次数

使用没有驱动程序的IPP打印(IPP客户端)

我有一个无法安装驱动程序的设备/设备.我想通过让用户添加IP地址来添加支持网络/ IPP/AirPrint打印机的功能.

由于我不是通过Windows打印(使用IPP),我如何自己使用IPP?是否有ac#client(或任何Windows库)允许您使用IPP协议与IPP打印机进行交互?

printing network-protocols network-printers ipp-protocol

8
推荐指数
1
解决办法
9198
查看次数