草庐IT

TCP_DENIED

全部标签

c++ - TCP 库正在捆绑消息?

我正在使用一个带有名为Lacewing的服务器和客户端类的TCP库http://lacewing-project.org/我注意到,当我向客户端发送多个单独的消息时,它有时会将它们捆绑在一起,而我可以将它们分开的唯一方法是再次解析它们。发送二进制数据时,虽然很难解析。有谁知道它为什么会这样做?我在客户端和服务器上都尝试了DisableNagling(),但它仍然可以。这是我可能会发送的内容的示例:voidServerCore::loginRequestC(conststd::string&userName,conststd::string&password){std::coutTag;

java - 是否可以使用 java 或 python 中的应用程序与 WCF TCP 服务进行通信?

我收到一个WCF服务进行通信,因此,我需要在java或python中创建一个客户端来获取此服务提供的信息,该服务是一个WCFTCP服务。可能吗? 最佳答案 我假设当您说该服务“是WCFTCP服务”时,您的意思是它使用了netTcpBinding(方案net.tcp)。除了SOAP等公共(public)标准之外,此绑定(bind)还依赖于一些专有的Microsoft协议(protocol)。它们提供消息框架,支持各种编码方案,以及消息流上的安全协议(protocol)分层。这类似于netNamedPipe绑定(bind),并且解释了这

linux - TCP内核实现

我开发了一种新的TCP拥塞避免算法,我想在linux内核中实现它并测试它的性能。但是为此我需要了解现有的TCP内核(2.6)实现。你如何建议我应该继续这个?请推荐一些文章/书籍等,这可以让我有一个良好的开端。我知道我最终将不得不深入研究源代码,但如果我至少了解广泛的实现方面以及如何浏览代码,那将会很有帮助。 最佳答案 我只想直接研究内核中已有的更简单的拥塞避免算法的源代码。它们位于net/ipv4目录中,并且tcp_vegas.c评论非常详尽。您可能还希望查看tcp_highspeed.c和tcp_bic.c因为它们相当简单(少于2

networking - 玩 tcp/ip

我想学习和使用python、java或c++的tcp/ip库。但是我只有一台电脑。是否可以“伪造”远程计算机来模拟远程主机,在NAT下结束一切? 最佳答案 最简单的方法是在同一台计算机上同时运行服务器和客户端,并使用“环回”IP地址:127.0.0.1,它始终连接到本地主机。我在测试期间做过很多次。例如,在端口NNN上运行本地网络服务器,然后在浏览器中输入http://127.0.0.1:NNN/事实上,127.X.Y.Z应该总是与本地机器对话。 关于networking-玩tcp/ip

flash - Actionscript TCP 套接字无法为某些人发送消息

我编写了一个套接字服务器,它使用Socket类与我的actionscript3flash游戏进行通信。这是一个TCP连接,我认为这意味着100%确定发送的消息将被服务器接收,因为这是在低级别完成的。因此,如果发送失败,它将重新发送消息。对于我和我测试过我的构建的另外两个人来说,情况确实如此。然而,对于一个人来说,有时(罕见但不可忽视)服务器没有收到消息,即使这似乎不会发生在其他人的系统上。然而,这个人在玩其他专业多人游戏时从未遇到过任何问题,这意味着这一定是我的构建问题。我能做些什么来确保消息被正确发送,我关于TCP100%安全的说法是错误的吗,因为消息应该在低级别失败时重新发送?

embedded - 保证 TCP 数据包大小

我们使用嵌入式设备通过串行到以太网转换器将数据包从串行端口发送到服务器。我们使用的一家制造商Moxa将始终以与构建它们相同的方式发送数据包。意思是,如果我们构建一个大小为255的数据包,它将始终以255长度发送数据包。另一家厂商Tibbo,如果我们发送包大小为255,如果大于128,它会打散数据包。这是我当时从Tibbo工程师那里得到的答复:"FromwhatIunderstandandwhattheengineerssaid,eveniftheotherdevicesprovideyouwiththerightpacketsizenowdoesnotguaranteethatwhen

C - 填充 TCP 套接字发送缓冲区

我正在尝试编写一个实验性的客户端/服务器程序来证明当发送缓冲区已满时写入是否失败或阻塞。基本上,我在发送程序上有一个无限循环,我使用select()检查我是否可以在缓冲区上写入(我认为这意味着套接字缓冲区未满),如果我可以在缓冲区上写入比我写()一个字符。当FD_ISSET(sockfd,&writefds)为false时,循环中断(我无法写入缓冲区,因为它已满)。接收程序在开始read()之前休眠一分钟。我希望发送者在此休眠时间内填充缓冲区,但事实上,程序永远不会结束。发件人:intmain(intargc,char*argv[]){charbuffer[100];intsockfd

c# - WCF net.tcp SSL : none of the cipher suites supported by the client application are supported by the server

我有两台PC,我们称它们为PC1和PC2。我编写了一个服务端应用程序,它打开一个自托管的WCFnet.tcp端点,使用X509证书进行保护。我用于传输安全的证书是“颁发给”一个任意名称,例如:MY-TEST-SERVICE。我还编写了一个客户端应用程序来与服务对话。它知道并指定服务将提供的DnsIdentity(MY-TEST-SERVICE),它使用服务用于传输安全的相同X509证书。当我在PC1上运行客户端时,它与PC1和PC2上的服务一起工作。当我在PC2上运行客户端时,它与PC1上的服务一起工作,但与PC2上的服务的SSL握手失败。在PC2上打开WCF客户端跟踪,然后成功连接到

c# - NAT 在其表中保留 TCP 转换字段多长时间?

我想知道我是否可以在机器A上创建一个TCP客户端并将其连接到远程主机(S),然后从客户端关闭连接并在同一台机器(机器A)上创建一个TCP监听器用于客户端的相同端口(例如端口1234)。现在有A的端点的服务器,将它发送到另一台机器(B),B可以连接到A的公共(public)端点(比如端口4567)上的A,A网络上的NAT将SYN重定向到A,因为它仍然有转换(4567->1234)在它的表中。我想知道从断开第一次连接到连接节点B之间有多少时间。 最佳答案 我同意PeterDuniho的评论。但我用通常的NAT行为来回答你的问题。你想做的

c++ - 如何在 Windows 和 Linux 上使用 C、C++ 从 tcp/ip 端口发送数据和获取数据

我要为windows和linux编写一个跨平台程序::一个Java程序将数据发送到一个tcp/ip端口,并且会有一个C/C++程序,当它获取一些数据时,它会不断地从那个tcp/ip端口监听,它会做一些工作并将结果数据发送到另一个tcp/ip端口,现在Java程序将从该端口读取数据并执行一些操作。我更担心C/C++部分。您能否提供任何详细信息或有用的链接或示例代码? 最佳答案 我的建议:boost::asio用于C++跨平台网络和googleprotocolbuffers用于指定跨平台/跨语言协议(protocol)。使用boost: