我正在用Java编写Web服务器,我希望它支持HTTP 1.1 Keep-Alive连接.但是,如何判断客户端何时发送给定连接的请求?(如双线或类似物).
让我们看看stackoverflow如何处理这个非常模糊的问题 - 谷歌在技术规范和模糊语言中陷入困境的答案.我想要一个非C程序员的简明英语答案:)
我知道了.这证实了我怀疑不得不依赖于SocketTimeoutException.但是我不确定我是否可以从客户端依赖它来表明它已完成连接 - 这将允许我在大多数情况下更快地关闭连接 - 而不是等待超时.谢谢
是否有任何开源,高级工具可以使用GUI促进和简化实验网络协议(TCP/UDP)的开发?
基本上,像动态状态机编辑器,可以让你定义"数据包","消息","状态","验证器","处理程序"等.
优选地,这样的工具将足够全面以处理协议的所有相关方面(即客户端和服务器),以便高级协议描述可以被序列化为XML/RDF文件,其中它可以用于动态创建用于实现协议的应用程序代码(即在Python中).
user-interface state protocols network-protocols custom-protocol
我们有一个系统(内置C),可以通过UDP进行通信.最近我们发现有必要保证数据包的传送.我的问题是:基于UDP的系统最少增加什么才能确保使用ack数据包进行传输?此外,理想情况下无需操纵数据包标头.我们对数据包进行应用程序级控制,包括序列号和ack/nack标志.我想知道这是否是一个失败的原因,我们尝试做的任何事情基本上都是一个有缺陷和破坏的TCP版本.基本上,我们可以通过极简主义改进来实现有保证的交付(我们不需要TCP的许多功能,例如拥塞控制等).谢谢!
是否有一个实现独立TCP堆栈的python库?
我不能使用通常的python套接字库,因为我通过套接字接收数据包流(它们通过此套接字通过隧道连接到我).当我收到一个寻址到特定端口的TCP SYN数据包时,我想接受连接(发送一个syn-ack),然后获取另一端发送的数据(适当地确认).
我希望已经编写了某种TCP堆栈,我可以利用它.有任何想法吗?我过去曾经使用过lwip作为一个C项目 - 在python中沿着这些方向的东西是完美的.
python network-programming tcp network-protocols raw-sockets
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以利用多宿主的时候注意任何问题吗?
据我所知,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
我正在寻找为我的软件添加对VPN的支持,
我知道PPTP和OpenVPN,两者进行系统范围的绑定,安装TAP驱动程序,以便所有应用程序将其流量路由到那时.
我怎样才能为我的应用程序实现VPN支持?有没有图书馆,示例,提示或方法呢?
我的软件实际上是用C++/MFC制作的.使用标准CAsyncSocket.
在计算机网络中 - 实际上在很多其他领域 - 我听到很多关于术语"阻塞","非阻塞","同步"和"异步"的引用.我想知道是否有人能用非常直接/简单的术语解释这些意味着什么?
我相信如果您使用127.0.0.1,流量永远不会离开NIC,但我想知道当您使用计算机的实际IP地址时是否也是如此.
我有一个无法安装驱动程序的设备/设备.我想通过让用户添加IP地址来添加支持网络/ IPP/AirPrint打印机的功能.
由于我不是通过Windows打印(使用IPP),我如何自己使用IPP?是否有ac#client(或任何Windows库)允许您使用IPP协议与IPP打印机进行交互?
tcp ×5
networking ×4
protocols ×2
c ×1
c++ ×1
http ×1
http-headers ×1
ipp-protocol ×1
java ×1
performance ×1
printing ×1
proxy ×1
python ×1
raw-sockets ×1
sctp ×1
sockets ×1
state ×1
udp ×1
vpn ×1