草庐IT

TCP_Client

全部标签

c++ - NS3 : how to setup RcvBufSize for each TCP session?

我必须运行两个具有不同RcvBufSize的TCPsession。我知道以下代码可以为所有TCPsession设置RcvBufSize。Config::SetDefault("ns3::TcpSocket::RcvBufSize",UintegerValue(1500000));实际上,我正在寻找类似setsockopt()的函数为每个TCPsession设置SO_RCVBUF。我也试过垂头丧气Ptr至Ptr,但是SetRcvBufSize()是私有(private)函数...有什么办法可以解决这个问题吗? 最佳答案 我改变了Snd

tcp - 如何指定 OpenMPI 使用的端口范围?

我使用OpenMPI1.6.5在3个节点上并行运行OpenFOAM。出于安全原因,我只允许打开几个TCP端口。因此,我为OpenMPI打开了端口49990-50009,并在openmpi-mca-params.conf中设置了如下值:btl_tcp_port_min_v4=49990btl_tcp_port_range_v4=10oob_tcp_static_ports=50000-50009当我运行mpirun时,我收到一条消息:mca_oob_tcp_init:unabletocreateIPv4listensocket:UnabletoopenaTCPsocketforout-o

scala - Akka Streams TCP 套接字客户端终止

我有以下流程:valactorSource=Source.actorRef(10000,OverflowStrategy.dropHead)valtargetSink=Flow[ByteString].map(_.utf8String).via(newJsonStage()).map{json=>MqttMessages.jsonToObject(json)}.to(Sink.actorRef(self,"Done"))sourceRef=Some(Flow[ByteString].via(conn.flow).to(targetSink).runWith(actorSource))在

php - 在php中检测TCP session 的MSS大小

当VPN后面的客户端发出HTTP请求时,初始TCP握手的MSS将比标准握手(1460)小得多。想知道php脚本是否有可能获取此信息并以不同方式处理请求。如果可能,一些黑客可能会对其进行编程,以区分来自安全研究人员或某些安全产品的请求。 最佳答案 这是可能的。但有人会这样做是非常值得怀疑的。原因:要访问此类低级数据,脚本必须能够访问原始TCP数据。仅当脚本在RAW套接字上监听连接时才有可能(它必须使用自己的TCP协议(protocol)实现)。要能够打开RAW套接字脚本,必须具有root(GNULinux)/管理员(windows)权

C# TCP 在同一本地端口上监听和连接

我有一个C#控制台应用程序,我正在尝试实现TCP打洞。我需要在本地端口上监听,同时(同时/异步)使用相同的本地端口连接到2个不同的远程主机(实际上是远程主机的公共(public)端点和私有(private)端点)。据我所知,我需要以某种方式绑定(bind)套接字/端口,但我无法在C#中解决这个问题。有TCPListener、TCPClient和Socket类,但我不知道使用哪些来完成我需要的。我正在遵循本指南http://www.bford.info/pub/net/p2pnat/index.html第4.2章FromthesamelocalTCPportsthatAandB(Clie

c# - TCP 客户端无法使用框架 4.6.1 绑定(bind)到套接字中的端口 0

我有一个正在运行的应用程序,它使用套接字通信连接到某个端口上的服务器。我已将该应用程序从框架2.0(VisualStudio)移植到框架4.5,并顺利通过所有中间框架。现在,使用visualstudio15和framework4.6.1,套接字不再连接。查代码发现是socket.Bind在localport为0时抛出异常的问题并且服务器只允许您的一个IP连接,您需要绑定(bind)套接字必须用来启动其连接的适配器(或IP),否则,套接字将使用随机IP或顶部的IP.注释“绑定(bind)”会正常工作,但我们无法指定其他本地IP进行连接。遗憾的是,我的IP不是默认选择的IP,所以我无法再在

c# - C# 中的一个非常简单的 TCP 服务器/客户端偶尔会丢弃数据包。我能做些什么来防止这种情况发生?

我已经设置了一个PC内通信服务器/客户端,用于从一个程序向另一个程序发送和接收数据-在本例中,是一个正在监听文本命令和Unity3D的自定义服务器。在大多数情况下,它是有效的,但是每隔一段时间,它就会丢包,如果不多次尝试,Unity将无法获得它们。数据包似乎已发送但丢失了,因为我确实看到了“已发送消息”控制台日志。以下是服务端和客户端的代码:服务器:classTCPGameServer{publiceventEventHandlerError;publicActionADelegate;TcpListenerTCPListener;TcpClientTCPClient;ClientAc

c# - 希望对 SQL Server 数据库应用程序的 C# TCP 监听器进行代码改进

我构建了一个C#控制台应用程序,它接受来self拥有的GPS报告设备的TCP连接。我构建此应用程序是为了收集该数据并将其转储到SQLServer表中。目前,我的应用程序正在运行,但它有一个我似乎无法弄清楚的错误。当GPS设备建立连接时,随机1-10个成功连接中的一个给我一个索引超出范围的异常。当我转储原始数据时,它看起来不像是设备发送给我的东西。你们中有人碰巧知道是什么原因造成的吗?此外,一旦我让这个应用程序正常工作,它可能每分钟接收多达3-5k个连接,你认为这段代码可以处理这个问题吗?这是我经常收到的错误,带有杂项数据转储:Imageoferror这是我的代码:namespaceGP

tcp - 即使后端服务器在 3 秒内响应,Varnish 3.0 也会间歇性地返回 503

我们在使用Varnish3.0时遇到了一个奇怪的问题。我们观察到Varnish农场中每个节点每分钟10-20次故障的速率。在这种情况下,Varnish与负载均衡器应用程序(F5)前面的后端服务器对话。我们在Varnish层和负载均衡器层上进行了TCP转储。后端服务器似乎在大约3秒内响应。在TCP转储中,我们看到Varnish在3秒后收到了200Ok。在此之后我们会看到奇怪的行为。Varnish服务器在毫秒内将ACK消息发送到负载均衡器。FIN,ACK消息在延迟约10秒后发送。这次匹配Varnish层中的10秒配置,我们看到从Varnish层返回503错误。这是Varnish后端配置。出

c - 在非阻塞模式下创建多个 TCP 连接时内核日志中的 net_ratelimit 消息

我有一个C程序,它尝试轮询网络中的设备,如果设备可用,它会尝试从中读取值。但是当没有设备存在时,应用程序的运行会在内核日志中创建以下消息。此外,除了以下消息之外,日志中没有其他警告/警报消息。(即使在使用net.core.message_cost=0禁用速率限制之后)net_ratelimit:xxcallbackssupressed与此同时,另一个通过网络广播消息的应用程序在发送系统调用返回EINVAL时开始失败。一旦我停止轮询TCP客户端,UDPBroadcast应用程序运行正常。我运行它的系统是一个基于RAMFS的系统,运行3.14系列内核,RT_PREEMPT已应用补丁.我编写