草庐IT

TCP_DENIED

全部标签

sockets - NodeJS : What is the proper way to handling TCP socket streams ? 我应该使用哪个定界符?

据我了解here,“V8有一个分代垃圾收集器。随机移动对象。Node无法获取指向原始字符串数据的指针以写入套接字。”所以我不应该将来自TCP流的数据存储在字符串中,特别是当该字符串变得大于Math.pow(2,16)字节时。(希望我到现在为止都是对的..)那么处理来自TCP套接字的所有数据的最佳方法是什么?到目前为止,我一直在尝试使用_:_:_作为分隔符,因为我认为它在某种程度上是独一无二的,不会混淆其他东西。数据样本将是一些东西_:_:_可能是一个大文本_:_:_可能是成吨的行_:_:_越来越多的数据这是我尝试做的:net=require('net');varserver=net.c

tcp - 谁使用 TCP 端口?

我的应用调用中的一个gen_serversgen_tcp:listen(Port,[{active,true}]).第一次运行单元测试时,它返回{ok,Socket},但第二次运行相同的单元测试时,它返回{error,eaddrinuse},但是lsof-iTCP什么都不返回。此外,当同一个unit_test在另一台机器(WinXP)上运行两次时,它会按预期工作(即,两次都返回{ok,Socket})。因此,我的gen_server显然释放了端口,但Erlang不知何故不知道。那么,我怎样才能弄清楚Erlang认为谁在使用这个地址呢? 最佳答案

sockets - 两个 TCP 套接字之间基于内核的 (Linux) 数据中继

我编写了TCP中继服务器,它的工作方式类似于对等路由器(super节点)。最简单的情况是两个打开的套接字和它们之间的数据中继:客户端A服务器客户端B但是服务器必须提供大约2000个这样的A-B对,即。4000个socket...userland中有两个众所周知的数据流中继实现(基于socketA.recv()-->socketB.send()和socketB。recv()-->socketA.send():使用select/poll函数(非阻塞方法)使用线程/fork(阻塞方法)我使用了线程,所以在最坏的情况下服务器会创建2*2000个线程!我不得不限制堆栈大小并且它有效,但它是正确的

delphi - 谁将 TCP 窗口大小设置为 0,Indy 还是 Windows?

我们有一个应用程序服务器,观察到它在网络拥塞时(在客户端站点)有时发送TCP窗口大小为0的header。我们想知道是Indy还是底层Windows层负责将TCP窗口大小从标称的64K向下调整以适应可用吞吐量。我们将能够在它变为0时采取行动(没有发送任何内容,用户等待=>不好)。因此,欢迎任何指向Indy代码的信息、链接和指针...免责声明:我不是网络专家。请保持普通人可以理解的答案;-)注意:它是WindowsServer2003SP2上的Indy9/D2007。更多细节:TCP零窗口情况发生在与数据库服务器通信的中间层。它发生在最终用户提示客户端应用程序变慢的同一时刻(这就是触发网络

wcf - restart/iisreset 禁用 NET.TCP 协议(protocol)?

我在WindowsServer08sp2上的IIS7中托管WCF服务。该服务托管为自己的网站,并通过NET.TCP端点公开。在发出重新启动/iisreset命令之前,该服务工作正常。重启或iisreset后,当我进行任何服务调用时,我收到以下错误:'System.ServiceModel.EndpointNotFoundException:无法发送消息,因为端点地址'net.tcp://[website]/[service_name].svc'的服务对于该地址的协议(protocol)不可用..'服务器的事件日志显示以下错误:'尝试读取和实例化配置的ProcessHandlerType

iphone - iPhone上的TCP打洞

我读了一些书,虽然我是iPhone网络的新手,但我想知道是否可以使用TCP打洞器通过NAT连接两部iPhone。我还阅读了一些有关uPnP和发夹的有用信息,但我根本不熟悉这些内容,所以如果有人对这是否可行有任何想法。我的目标是能够在大范围内连接多部iPhone(因此切换到某种类型的GPSR可能会更好)但目前我只使用两部iPhone,3GNATTraversal似乎是最简单和理论上最可靠。 最佳答案 nattraversal是通用术语,用于在会合服务器的帮助下直接连接两个节点。节点可以是任何计算机、智能手机或任何其他设备。就3g而言,

tcp - 开发无服务器局域网聊天程序求助!

我想开发简单的无服务器局域网聊天程序,只是为了好玩。我怎样才能做到这一点?我应该使用什么类型的架构?去年我参与了TCP,UDP客户端/服务器应用程序项目。它很简单(服务器监听特定端口/套接字,客户端连接到服务器的端口等。)但我不知道如何开发“无服务器”"局域网聊天程序。我怎样才能做到这一点?UDP、TCP、组播、广播?或者程序应该像服务器和客户端一样运行吗? 最佳答案 最简单的方法是使用UDP并在整个网络上简单地广播您的消息。更高级一点的版本是仅使用广播来发现网络中的其他节点。每个节点都维护一个已知对等节点的列表。消息通过TCP发送

c# - 简单的客户端/服务器,TCP/IP 加密消息流,SSL

编写一个小的TCP/IP客户端服务器应用程序。基本上它会创建一个服务器,然后您可以创建几个不同的客户端并设置一些聊天session。我想知道是否有任何方法可以使用标准.net库合并某种形式的加密?m_mainSocket=newSocket(AddressFamily.InterNetwork,套接字类型.Stream,协议(protocol)类型.Tcp);有什么方法可以使用rsa来指定tcp吗?或者您(我就是)是否必须编写一些自定义库来进行key交换,然后加密后续的聊天消息?我之前为uni做过,但那是在java中,但我知道转换它们并不难。只是不想重新发明轮子...或者使用ssl怎么

tcp - 什么时候在 tcp 段中设置推送标志

我在这里问了之前的问题:tcptwosidestryingtoconnectsimultaneously我尝试了解决方案中给出的方法,在使用netcat发送并使用ethereal嗅探数据包时,我观察到当我从一侧向另一侧发送“hello”字符串时,它是在设置了推送标志的段中发送的.谁决定设置推送标志?在TCP段中设置推送或紧急标志的规则是什么?是否可以使用套接字API来实现? 最佳答案 tcp堆栈使用PUSH标志来基本上说“我现在完成了”。它只是表示数据段已完全由源传输。无法在用户空间(您的套接字API)中指示或控制它,因为这只是执行

c - 如何在继续之前显式等待 TCP ACK?

有没有办法让send()等到所有已发送的数据都已被确认(如果已达到确认超时,则返回-1),或者是否有其他机制来在send()之后但在执行其他操作之前等待ACK?我正在使用标准的UnixBerkeley套接字API。我知道我可以实现应用层ACK,但是当TCP的ACK可以很好地达到目的时我宁愿不这样做。 最佳答案 据我所知,没有办法。此外,它也不可靠,ACK仅表示内核收到数据,与此同时客户端或其机器可能已经崩溃。你会认为客户端收到了数据,但实际上它从未处理过它。 关于c-如何在继续之前显式等