草庐IT

TCP_DENIED

全部标签

Java - java.net 中的 TCP 三向握手?

简介:作为我大学研究的一部分,我必须找出在滥用TCP三向握手时占用了多少物理内存。更准确地说:当客户端没有用ACK回复时,从而使服务器挂起为它们保留的内存。我查看了可用的软件,但没有找到任何可以让我模拟TCP三向握手的软件。然后我找到了JavaSockets。我浏览了许多教程,但发现它们非常不清楚。此外,他们似乎有一个高级View,不允许我操纵SYN、SYN-ACK、ACK序列。因此,我使用反编译工具进入了实际的java.net。我查看了各种类,但找不到对发送的实际SYN消息的任何引用。有些方法听起来像是在做这件事,但我只能找到方法调用和它们的接口(interface)定义。我找不到实

algorithm - 丢包时 TCP 慢启动 vs 拥塞避免

我最近一直在阅读1988年关于CongestionAvoidanceandControl的论文,并且努力区分慢启动和拥塞避免。但是,有一点我没搞明白,就是丢包后是用什么算法。基于论文和Wikipedia's慢启动的描述,它希望TCP在丢失事件发生后以大小为1的拥塞窗口开始。基于拥塞避免的AIMD算法,拥塞窗口应该在丢包后减半。发生丢包时,哪种算法优先?cwnd会设置为1还是当前大小的一半? 最佳答案 显然答案在同一篇论文的附录B中,我之前跳过了它。组合算法实际上维护了两个状态变量,一个cwnd和一个ssthresh。当丢包超时时,变

linux - 用于管理的永久 TCP 连接

我面临以下情况:我有几台设备(运行ARCHLinux的嵌入式设备),我想随时拥有对每台设备的管理权限。问题是设备位于NAT之后,因此无法建立从服务器到设备的连接。我怎么能做到这一点?我想我可以编写一个在设备上运行的简单服务,该服务在启动时打开与服务器的连接。此TCP连接保持打开状态,可从服务器使用它来管理设备。但是长时间保持TCP连接打开是个好主意吗?如果我有很多设备,例如1000个,我在服务器端是否会遇到1000个打开的TCP连接的问题?有没有别的办法?非常感谢! 最佳答案 ButisitagoodideatokeepTCPcon

heroku - 使用 Ruppell 的套接字插件在 Heroku 上托管 TCP 服务器时出现 "Connection closed by foreign host"错误

我正在尝试在Heroku上托管一个简单的TCP服务器。我正在使用Ruppell'sSocketsHerokuaddon.我的Procfile看起来像这样:web:bundleexecrubyweb.rb-e"production"-p$PORTsocket:./lib/sockets-connect/rs-connruby./tcpserver.rbtcpserver.rb看起来像这样:require'eventmachine'moduleEchoServerdefpost_initputs"--someoneconnectedtotheechoserver!"enddefreceiv

c# - TCP 套接字服务器 - 一种检测传入数据的方法

我正在尝试编写一个服务器,它将监听一个端口,接受传入的客户端连接,然后将该客户端连接放入堆栈中以等待future的消息到达。理想情况下,当消息到达时,我想触发一个事件,然后允许服务器执行操作。我已经写了几乎所有这些......我正在使用AcceptTCPClient()来实际获取一个新的客户端连接,这很好。然后我创建一个线程,将套接字传递给一个保存客户端状态和其他一些数据的类。然而,我能想到的阻止并等待该线程上future传入连接的唯一方法是调用NetworkStream.Read()之类的东西,然后阻塞直到字节到达。所以这里是根本问题-我正在使用Protobuff-net,它允许我反

python - 使用 Scapy 用 Python 编写的 TCP 端口扫描器没有响应

我正在尝试制作一个TCP端口扫描器,但我坚持使用一个非常简单的示例,该示例与我在网上找到的一个更高级的示例串联在一起。我没有收到任何错误。自从我在Linux机器上启动Apache服务器后,我希望代码显示端口80是打开的。代码如下:#!/usr/bin/pythonimportlogginglogging.getLogger("scapy.runtime").setLevel(logging.ERROR)fromscapy.allimport*ip="127.0.0.1"port=80response=sr1(IP(dst=ip)/TCP(dport=port,flags="S"),ve

c# - 一些数据可以在 Tcp 连接中分离吗?

我的问题很简单。一些数据可以在tcp连接中分开吗(如标题所示)?例如,如果我调用MySocket.Send(Encoding.UTF8.GetBytes("thisisatest!");,我是否可以从连接的另一端?即Tcp有多可靠? 最佳答案 TCP通常用作流;不保证无论如何“发送”和“接收”操作将一对一匹配。必须读取15次,每次获取1个字节,这在技术上是有效的(但不太可能)。因此,通常有两种操作模式:一直读到流的末尾(发送方在发送消息后关闭其出站套接字)添加某种框架协议(protocol)对于基于文本的协议(protocol),这

c++ - 使用 Winsock DLL 在简单的 TCP 回显服务器中分隔消息

请考虑使用TCP和WinsockDLL的简单回显服务器。客户端应用程序从多个线程发送消息。服务器上的recv调用有时会返回存储在传递缓冲区中的多条消息。此时,服务器没有机会知道这是一条大消息还是多条小消息。我读到可以将setsockopt与TCP_NODELAY选项结合使用。除了MSDN声明之外,此选项的实现只是为了向后兼容,它甚至不会改变上述行为。当然,我可以在每条消息的末尾引入某种分隔符,并在服务器端拆分消息。但我认为不应该这样做。那么,正确的做法是什么? 最佳答案 首先,TCP_NODELAY不是执行此操作的正确方法...TC

delphi - Delphi 中的 TCP 监听器

我想实现一个演示应用程序来通过TCP/IP监听数据。DataTransmitter会一直传输一系列或ASCII字符或一系列字符串。它将数据馈送到TCP/IP地址(例如127.0.0.1:22),这可能是一个GPS发射器。我想实现一个演示应用程序,用于通过单击开始按钮接收数据并通过TCP/IP监听数据并相应地显示它。如果我错了请纠正我,我认为我不能为此目的使用服务器/客户端服务器。我尝试用TIdTcpClient创建一个客户端应用程序,它只接收一次数据。我认为Indy没有TCP监听组件。提前致谢。 最佳答案 如果你想监控一些设备和你计

tcp - 为什么 TIME_WAIT 状态需要 2MSL 长?

在一个TCP连接中,要求执行主动关闭的一端在TIME_WAIT状态停留2MSL的时间。为什么它需要2MSL?很多人说一个MSL是给最终ACK的,另一个MSL是给重传的FIN的。但是,FIN的RTO比MSL短很多,FIN不需要等待MSL重传。所以,他们的解释对我来说没有意义。任何人都可以举出一个具体的例子来说明那段时间段是如何交换的吗? 最佳答案 图1.TCP连接的数据包交换。为什么会存在TIME_WAIT状态?>一书给出了答案:TherearetworeasonsfortheTIME_WAITstate:ToimplementTCP