草庐IT

tcp_sack

全部标签

.net - 有没有办法通过 WCF 中的单个 TCP 连接进行真正的双向通信?

我有一个WCF服务器,它公开了一个接口(interface),该接口(interface)具有一个用于向客户端发送事件的回调接口(interface)。我宁愿不将回调接口(interface)上的所有方法都标记为“OneWay”,因为它会使错误跟踪和记录变得更加困难。客户端是用WinForms编写的,因此在对服务器的调用返回之前不会处理回调。(这是我想要的行为)我使用AsynchronousEg进行所有回调。BeginMyMethod(...),因此服务器不会阻塞等待客户端。然而,如果回调被发送到与向服务器发送请求相同的客户端,则TCPchannel会自行死锁,因为它似乎无法在客户端已

networking - 通过限制性出站防火墙建立 TCP 连接

我正在使用Java创建一个使用TCP进行通信的客户端/服务器应用程序。运行客户端的网络有一个出站防火墙,阻止客户端连接到服务器。有什么方法/解决方法可以通过此防火墙创建TCP连接吗?我曾尝试使用开放的公共(public)端口,例如端口80、443和113,但是防火墙似乎在建立连接后就断开了连接(可能是通过检测非协议(protocol)数据包)。另一种方法是让客户端软件作为从外部网站托管的Java小程序运行,但我不确定出站防火墙是否仍能阻止此连接。如有任何帮助,我们将不胜感激。 最佳答案 假设用户可以访问互联网,而您无法通过端口80/

windows - TCP:地址已在使用异常 - 客户端端口的可能原因?没有端口耗尽

愚蠢的问题。我从连接到服务器的客户端获取这些信息。遗憾的是,设置很复杂,调试也很复杂-我们用完了选项。环境:*客户端/服务器系统,都在同一台机器上运行。客户端实际上是一个在特定时间进行一些数据库操作的服务。*连接来自C#,通过OleDb到EasySoftJDBC驱动程序,再到自定义编写的JDBC服务器,然后在C++中托管逻辑。是的,compelx-但第三方供应商决定通过JDBC接口(interface)公开其服务器的扩展机制。这里能做的不多;)症状:在(不)固定的时间间隔,我们从JDBC驱动程序中得知“地址已在使用:连接”。它们似乎来self们运行的一项特定服务。现在,我确实阅读了所有

tcp - 基于 FreeBSD 或 NetBSD 的商业 TCP/IP 堆栈供应商?

接收基于FreeBSD或NetBSD的商业TCP/IP堆栈实现的建议。要求类似于运行浏览器、电子邮件和流式语音/视频的典型台式PC。也就是说,具有成熟实现和合理性能的终端主机类型设备的丰富网络功能。多年来,BSD派生的网络堆栈部署在各种情况下,因此具有成熟的实现。它应该在专有的RTOS上运行。如果他们的堆栈基于BSD,我发现的大多数供应商都不会做广告。有什么建议吗?--维内特 最佳答案 它不是商业的,但你可以看看OSkit。它使用FreeBSD的网络堆栈。从OSkit中取出堆栈可能比从FreeBSD中取出堆栈更容易http://ww

linux - 有没有一种方法/工具可以在 Linux 下列出标记为 "thin"的 TCP 连接?

有没有一种方法/工具可以在Linux下列出标记为“瘦”的TCP连接? 最佳答案 不确定您所说的“瘦”是什么意思或您在寻找什么。您是否调查过“lsof”? 关于linux-有没有一种方法/工具可以在Linux下列出标记为"thin"的TCP连接?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2866204/

c# - 是否有任何使用 TCP 套接字从中收集数据来读取 http 请求的示例(例如以某种方式模拟 Http 服务器)

是否有任何使用TCP套接字从中收集数据(例如以某种方式模拟Http服务器)读取http请求的示例,所以我想保留发件人IP:PORT、请求正文等数据。那么有没有人在开源项目中见过这样的东西,或者你知道如何创建它?(如果是,请提供简单的代码示例) 最佳答案 回想起来,HTTP并不是最容易解析的协议(protocol)。如果今天从头开始设计,情况将大不相同。首先,尽可能使用ASP.NET。如果您不会使用ASP.NET,请查看HttpListener类。 关于c#-是否有任何使用TCP套接字从中

.net - .Net TCP/IP 库有什么改进吗?

有时候,我不得不使用.NetFramework2.0开发普通的TCP/IP客户端-服务器应用程序。我发现.net2.0套接字库效率很低,过去占用大量内存和处理周期,然后我们切换到C++,它运行良好。我想检查.Net3.0或更高版本中的TCP/IP库是否有任何改进。如果您同时使用.NetTCP/IP库,您的经验是什么。Net2.0和2.0之后的.net框架? 最佳答案 我对基本的Socket类没有任何问题;正如“nos”指出的那样,它只是WinSockAPI上的一个非常薄的层。他们确实将整个*Async/SocketAsyncEven

c# - 使用 Over TCP 发送多个文件

我如何使用C#通过TCP发送多个文件,互联网上的所有示例只发送一个文件,我正在寻找类似的东西,遍历文件夹中的文件并通过tcp发送,这是客户端,服务器我想接收并将它们保存到磁盘, 最佳答案 让客户端调用并获取目录中的所有文件;使用DirectoryInfo对象获取目录中的文件列表,并将其返回;然后让客户一个一个地要文件。 关于c#-使用OverTCP发送多个文件,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.

networking - tcp reno、newreno 和慢启动

当在慢启动过程中发生丢包时,reno/newreno算法是否注意到可能的dupacks,还是纯粹的慢启动->rto?因此,如果发送两个数据包(在慢启动开始时),而第一个数据包丢失了,那么慢启动除了rto之外还会做其他事情吗?这是令人困惑的,因为rfc声明“在实践中它们(慢启动和拥塞避免)是一起实现的”。而且linux源代码读起来有点厚,而且只有一个实现。 最佳答案 Whenpacketlossoccurswhileinslowstart,doesthereno/newrenoalgorithmsnoticepossibledupac

c# - TCP是否适合由定期位置更新组成的网络游戏编程?

假设您被迫在UDP套接字上使用TCP套接字(即:Silverlight坚持的东西)。是否可以创建一个多人游戏,包括向最多8个玩家发送实时位置更新,以便每个玩家都可以实时准确地看到所有其他玩家,即使UDP是更好的协议(protocol)?鉴于此选项,您是否愿意选择不同的技术(即:Java),只是为了获得UDP支持?谢谢,尼克 最佳答案 只要几毫秒不重要,我认为没有理由使用UDP。 关于c#-TCP是否适合由定期位置更新组成的网络游戏编程?,我们在StackOverflow上找到一个类似的问