- 浏览: 130936 次
- 性别:
- 来自: 上海
最新评论
相关推荐
- TCP Sliding Window滑动窗口协议演示动画
TCP Sliding Window滑动窗口协议演示动画,Flash播放,可以调整参数
- window 网络调试助手 tcp/udp
window 网络调试助手 tcp/udp tcp server、tcp client
- Window下杀掉TCP连接
杀掉TCP的连接,以便于关闭需要关闭的通信
- window c tcp 文件传送
本程序在window 上实现文件的传送(通过改动,也可在linux中编译运行).我在程序中设定的IP为127.0.0.1,即先将服务器运行,再将客户端运行,在客户端中输入要传送的文件,即可实现文件的传输。
- Cygwin及windows上安装tcpreplay必要软件
包含: Cygwin setup-x86_64.exe 官网最新版 apt-cyg tcpreplay-4.4.1.tar.gz WpdPack_4_1_2.zip
- Window C++ Qt TCP 网络传输
Window C++ Qt TCP 网络传输, 通过C++类的封装, 继承实现, 简单明了, 易用.
- window tcp测试发送数据
用于模拟tcp发送数据,支持tcp,udp,发送16进制,字符串数据
- tcp,tcp,tcp
tcp,tcp,ttcp,tcp,tcpctcp,tcp,tcpp,tcp,tcptcptcptcptcp,tcp,tcp,tcp,tcp,tcp,tcp
- delphi利用Window API编写基于socket的tcp程序_delphi_
delphi利用Window API编写基于socket的tcp程序
- window端好用的tcp端口转发工具
window端好用的tcp端口转发工具,可实现端口映射,端口转发
- TCP-congestion-window-control-.rar_TCP拥塞窗口_ns tcp_拥塞仿真_拥塞窗口
用NS-3仿真TCP拥塞窗口控制机制,把拥塞窗口各个参数的变化用图片的格式体现出来
- TCP服务端和TCP客户端工具软件
TCP服务端和TCP客户端工具软件 .exe直接执行
- A User's Guide to TCP Windows
TCP windowSize的详细解析 • What is the TCP Window Thing? • Why have a TCP window? • How do I set the TCP window in my application? o For most OS's o Unicos o AIX • Setting the TCP window size ...
- TCP2ComV1.1.5.1免费好用的串口转TCP工具
一个串口转TCP的程序,能很好的满足远程串口传输、调试需求,基本特征如下: 1、支持打开物理串口和虚拟串口(不创建虚拟串口,但能打开其他工具创建的虚拟串口)。 2、支持通过TCP客户端连接到远程TCP服务器。 3、...
- TCP_UDP发包工具
TCP UDP 发包工具,带图形界面,win7 win8 win10可用 ok
- 微信小程序 TCP,IP长连接 (源码)
微信小程序 TCP,IP长连接 (源码)微信小程序 TCP,IP长连接 (源码)微信小程序 TCP,IP长连接 (源码)微信小程序 TCP,IP长连接 (源码)微信小程序 TCP,IP长连接 (源码)微信小程序 TCP,IP长连接 (源码)微信小程序 TCP,IP长...
- C++TCP通讯类(兼容window和linux)
这是本人基于c++开发的TCP通讯的轮子,并且封装成类,兼容window和linux,方便使用,包含.cpp和.h两个文件,亲测可用,注释详细,欢迎参考
- WIN32 TCPsocket
QT5.1做的WIN32 TCPsocket的2个对话框例子,有注释.库已有,qmake,再改一下客户端IP就可以用
- winsock window套接字 TCP/IP
windows套接字使用的例子程序 客户端和服务器端 VS2008工程
- NS-2版本TCP源码分析
NS-2版本TCP源码分析 NS-2下的TCP和TCP Reno模块分析 ...相对TCP Tahoe,重载了window()、windowd()、recv()、dupack_action()、timeout()几个函数,增加了allow_fast_retransmit()函数。下面是具体的分析:
Hi SYNbit,
Thank's for the return. Yes, it's clear, but i have some questions:
1- When the server restart the application, the "problem tcp zerowindows" is solved;
2- This client connect with others server's and we don't receive any TCP ZeroWindow;
3- According to the picture, the window of the client is overlap by the window of the server. On steps 1, 2 and 3, the client send a 140b data and has a window of 360, leaving only 220bytes, but in the next send, the window is 260 and not 220, so the client took the window size from the server. It's that or am I wrong? Thank you very much again.
1) It is the responsibility of the application to fetch data from the TCP receive buffers. Since the buffer decreases to 0 and (assuming from your information) does not get back to a normal value, it is the application that is at fault here. It does not fetch data from the TCP receive buffer. So it's logical that the "zero window" condition vanishes as the application is restarted. However, the exact cause of the lockup does not go away that way.
2) As it's an application problem, communication to other servers will not be affected. Unless the same application runs on other systems without problems. Then you need to look for the specifics on the faulty server. If not, then you need to troubleshoot the application.
3) I don't think the picture is any good, for one thing, the ACK's of the server don't seem to free buffer space on the client, which of course it should be doing.
Plinio, it's important to separate the send versus receive window sizes. Remember, you cannot see the send window size in the packet traces. Only the RECEIVE window sizes are visible in the packet trace files. Things to keep in mind are: 1) Typically SEND and RECEIVE window sizes are set equally. So whatever your RCV window size is, that's the SEND window size as well. 2) The WIN field in the packet trace is ALWAYS the RECEIVE window size. It has nothing to do with what it can send.
3) TCP is a two way communication. So often it helps if you analyze the flow in one direction.
4) The RCV window size tells the SENDER what the RECEIVER can take. In other words, RCV window is the throttling mechanism used by the RECEIVER. 5) The SEND window is the throttling mechanism for the sender. If it runs out of the SEND window size, it has to stop (regardless of the receiver's RCV window size).
6) The SENDER has to stop if the RECEIVER advertises a zero window.
When the application removes the data from the TCP stack, the stack will advertise the new window size as appropriate. There are some rules about when it can advertise this, but don't worry about that for now.