所有问题: [tcp]

479 个问题

0
投票
1答案
1059 次观看

跨自定义TCP长轮询服务器的驱动事件

我正在尝试编写一个基于TCP的自定义长轮询服务器,该服务器将用作其他TCP连接的中间人,而这些TCP连接需要比手机提供更多持久性的东西。 我尝试做的方式是用C#编写一个异步TCP服务器,并用C#编写一个匹配的TCP客户端。 长轮询的工作方式(据我了解)是,您打开与服务器的TCP连接,并且服务器在通过套接字发送回数据之前暂停。您会发现一个适用于移动电话网络的心跳间隔(我听说大约8分钟有效吗?),如果没有更新的数据,则会发送一个空数据包。 这就是我的麻烦所在。我不知道如何将客户端的数据请求与服务器上运行的事件处理程序“链接”。 流应该是这样的(“客户”在电话上): 用户启动我的...

0
投票
2答案
448 次观看

SLES 9与SLES 10

相对于SLES 9,SLES 10实现Tcp套接字的方式是否有重要变化? 我有几个用C#(.NET 3.5)编写的应用程序,它们可以在Windows XP和Windows Server 2003上运行。它们已经运行了一年多了,可以使用套接字连接从SLES 9计算机上获取市场数据。 今天该计算机已升级到SLES 10,并引起一些奇怪的行为。套接字通常每秒返回数百或数千个字节。但是偶尔,我会停止接收数据。没有数据将经过十秒或更长时间,然后Receive返回具有10k +字节的字节。还有一些缓冲区正在导致数据丢失,因为我在套接字上收到的字节不再构成正确的数据包。 唯一改变的是SLES 9...

1
投票
2答案
678 次观看

在HPUX上连接失败后,空闲的TCP文件描述符

我有一个客户端tcp套接字(在c ++中),该套接字具有一个循环,在该循环中,它尝试打开套接字并以一定的时间间隔连接到服务器,直到成功为止。 程序中的错误导致连接失败后未在文件描述符上调用close,并且在尝试重新连接时在下一次循环迭代中调用socket和connect时再次使用相同的(打开)描述符。 在Linux计算机上,这没有引起任何问题,而在HPUX上,它最终导致了错误24-'打开的文件太多'-lsof显示为TCP *:* (IDLE)。 Linux和HPUX之间有什么区别?

1
投票
2答案
2633 次观看

模拟HTTP / TCP重传超时

我正在Linux上工作。 我有一个HTTP客户端,它从HTTP服务器请求一些数据。 HTTP客户端用C编写,HTTP服务器用perl编写。 我想在客户端模拟TCP重传超时。 我认为正常关闭套接字不会导致客户端重新传输请求。 所以我尝试了以下情形: 服务器一旦收到HTTP GET请求,就退出服务器。但是,我注意到,一旦应用程序退出,套接字仍会正常关闭。我看到即使应用程序没有在套接字上调用“关闭”,服务器也会向客户端启动FIN.ACK消息。我已经在使用C程序编写的简单TCP服务器和客户端上注意到了此行为。 服务器不发送对客户端GET请求的任何响应。在这种情况下,我注意到服务器...

2
投票
4答案
5414 次观看

java.net.Socket.setSoTimeout是否可靠?

从JavaDoc中获取 setSoTimeout 启用/禁用SO_TIMEOUT 指定的超时时间(以毫秒为单位)。 将此选项设置为非零 超时,在 与此相关的InputStream 套接字只会阻止此金额 时间。如果超时到期,则 java.net.SocketTimeoutException是 提出,尽管套接字仍然 有效。必须启用该选项 进入封锁之前 操作才有效果。超时时间 必须大于0。零超时为 解释为无限超时。 从Internet上的各种帖子中,我读到使用Socket C API时SO_TIMEOUT相当不可靠(例如此处)...

5
投票
4答案
3866 次观看

一台Linux机器可以有多少个开放的udp或tcp / ip连接?

可用内存,带宽,CPU,当然还有网络连接性都有一些限制。但是这些通常可以垂直缩放。在Linux上还有其他限制因素吗?如果不修改内核就可以克服它们吗?我怀疑,如果没有其他限制,限制因素将成为千兆以太网。但是对于有效的协议,可能需要5万个并发连接才能解决。在我变得很高之前,还会有别的东西破裂吗? 我在想我想要一个软件udp和/或tcp / ip负载均衡器。不幸的是,除了http协议之外,似乎在开源社区中什么都没有。但是用epoll编写一个也不超出我的能力。我希望它会经过大量调整才能扩展,但这是可以逐步完成的工作,而我将是一个更好的程序员。

289
投票
17答案
287818 次观看

两个应用程序可以侦听同一端口吗?

同一台计算机上的两个应用程序可以绑定到相同的端口和IP地址吗?更进一步,一个应用程序可以监听来自某个IP的请求,另一个监听来自另一个IP的请求吗? 我知道我可以有一个从两个线程(或分支)开始的应用程序,它们具有相似的行为,但是两个没有共同点的应用程序可以做到相同吗?

0
投票
3答案
415 次观看

在Apache和Game Server之间拆分https

我希望在同一IP地址的端口443上可以同时访问Apache和Game Server。 游戏服务器连接是普通的TCP连接,它是在客户端登录时建立的,并保持打开状态,直到客户端注销(可能数小时后)。 起初,我虽然打算在反向模式下使用mod_proxy,并让客户端以对特定URL的请求开始通信,但我想这将使我无法长时间在客户端与游戏服务器之间进行双向通信。 另一个想法是在转发模式下使用mod_proxy_connect(当然要具有严格的访问规则),然后让客户端发送CONNECT请求。从理论上讲,这应该可行。 但是,上述两种尝试都有一个严重的问题:游戏服务器不再能看到客户端的ip地址。不...

35
投票
4答案
23898 次观看

TCP是否保证按顺序到达?

如果我发送两个TCP消息,我是否需要处理后者到达前者的情况?还是可以保证按我发送的顺序到达?我认为这不是Twisted特定的示例,因为它应符合TCP标准,但是如果熟悉Twisted的任何人都可以为我自己的内心安宁提供Twisted特定的答案,将不胜感激:-)

0
投票
2答案
8371 次观看

如何通过Net.TCP WCF绑定使用简单的TCP / IP套接字连接?

如何使用简单的 TCP / IP 通过Net.TCP 进行套接字连接href =“ http://en.wikipedia.org/wiki/Windows_Communication_Foundation” rel =“ nofollow noreferrer”> WCF 绑定吗? 想法是–我们有一个在某些URL,端口上绑定了Net.TCP的Web服务。我们想利用WCF地址模型和套接字连接的简单性。 那么我们是否可以通过Net.TCP WCF绑定使用简单的TCP / IP套接字连接? 如果是。 我需要什么? MSDN,如果对此有任何帮助。 开源库/包装器。 有关如何操...

0
投票
2答案
1218 次观看

与Blackberry应用程序中的连接类型BIS-B Socket相关的查询

我正在尝试建立BIS套接字连接。我可以从服务提供商处建立BIS Http连接。 我已经下载了一个聊天应用程序,用于检查我的设备/服务计划支持的网络类型,该应用程序具有以下列表: 1)BIS-Http:确定 2)BIS-SOCKET:确定 3)BES-HTTP:不适用 4)BES-SOCKET:不适用 5)TCP-HTTP:错误的DNS 6)TCP-SOCKET:超时 我知道我的服务提供商不支持直接TCP。所以我想使用BIS-Socket连接。 anypne能否帮助我实现这种连接?

0
投票
1答案
132 次观看

Vista中的WCF性能问题

尝试在Vista上连接wsHttpBindings和NetNamedPipeBindings时,Vista出现性能问题。 我有4个WCF服务,其中第一个连接到第二个,第二个连接到另外两个。 问题是,当我在Vista(64位)台式机上运行此设置时,响应时间确实很奇怪。 笔记本电脑: WsHttpBinding <150毫秒 NetNamedPipeBinding <30毫秒 对我来说似乎很正常,但是当我在Vista计算机上运行完全相同的设置时,结果如下。 桌面: WsHttpBinding <50毫秒 NetNamedPipeBinding <90ms ...

0
投票
5答案
237 次观看

专用网络(如IPv4)问题

我正在研究嵌入式TCP / IP4堆栈和HTTP / SNMP / SMTP内容。 它可以正常工作,但是我想使其在局域网上更快地工作。 由于Nagle的算法和延迟的TCP-ACK, HTTP应用程序似乎在LAN上也运行缓慢。 在 http://en.wikipedia.org/wiki/IPv4#上可以看到专用网络, 有3种不同的专用网络,它们具有不同的位块值。 我要做的是: 首先,通过查看我自己的IP,可以确定自己是LAN成员 我将查看dst_ip并检查它是否与我属于同一局域网 这些足以证明我和另一方属于同一局域网吗? 然后,当然,我将使用一个简单的技巧,例如将相同的数据...

1
投票
2答案
1770 次观看

如何在两个防火墙后面的几台计算机之间建立TCP连接?

我想在防火墙后面的计算机之间建立几个TCP连接。 下图说明了一个简单的网络: 防火墙网络http://img35.imageshack.us/img35/1545/firewallgf.png 从图片中我想建立3个TCP连接: A => 2 B => 2 C => 2 建立这些TCP连接有哪些选择? 和 我可以在没有端口转发的情况下执行此操作吗?

0
投票
1答案
634 次观看

如何强制终止Http HEAD命令(对于HttpClient和curl)?

如果运行此命令: $ curl -XHEAD -i -H "User-Agent: myuseragent" http://www.google.com HTTP/1.1 302 Found ... snip ... Server: gws Content-Length: 222 X-XSS-Protection: 0 您将立即注意到curl命令挂起。(我正在cygwin / VISTA中运行它) 如果您在twitter或facebook上运行它,curl将立即终止。 我怀疑是因为twitter和facebook返回了Connection: close。 在我的Andro...

3
投票
1答案
2808 次观看

在Windows TCP / IP中以编程方式更改NameServer

我正在构建一个VPN应用程序,需要以编程方式设置DNS服务器。我在注册表中更改了NameServer参数(在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces中),以便将名称服务器添加到现有条目列表中。一旦执行此操作,如果尝试使用nslookup查找主机名,则可以正常工作,但ping无法解析该名称-持续15分钟。15分钟后,ping也可以解析该名称。我已经尝试过自己的小型TCP / IP应用程序,但是存在相同的问题。我查看了Wireshark中的流量,发现nslookup发送dn...

1
投票
2答案
2498 次观看

如何强制刷新具有侦听器的端口

我正在尝试重新启动早些时候终止的WCF服务,但是却收到了AddressAlreadyInUseException。尝试使用的端口是1819。 我从命令行运行netstat -nao,发现端口1819上有一个侦听进程,其PID为4840。我进入了进程资源管理器(来自SysInternals)以尝试杀死PID 4840,但这是不在那里。 我猜测PID 4840是运行较早的WCF服务(我杀死了它),但它并未清除连接。如何强制刷新这些正在监听的端口?否则,每次发生这种情况我都必须重新启动。

1
投票
2答案
903 次观看

为什么我的客户/服务器代码不能在本地计算机上运行?

我正在尝试创建一个非常基本的小型客户端服务器应用程序,但是我只能让它在我自己的计算机上本地工作。 服务器代码: int d = 0; try { for (AdministratorPort = 8000; d < 1; AdministratorPort++) { IPAddress ipAddress = IPAddress.Parse("220.101.27.107"); TcpListener tcpListener = n...

2
投票
1答案
1642 次观看

如何使用Windows套接字读取TCP窗口大小?

现在,我正在使用C语言编写的轻量级客户端/服务器应用程序上工作,以检查许多计算机通过TCP将带有TCP的数据发送到服务器的某些问题。 我需要读取一些流控制变量,例如窗口大小,重传的数据包数量等。 在linux中,我使用getsockopt进行此操作,方法已在此处阅读: http:// linuxgazette。net / 136 / pfeiffer.html ,但我在Windows套接字api中找不到等效的方法。

0
投票
1答案
1295 次观看

服务器发送的RST报文

我正在开发Flash客户端,并使用http req / resp与服务器进行通信。一段时间后,会话工作正常,然后服务器终止了连接。我在服务器上进行了Wireshark嗅探,它发送的最后一条消息是RST数据包。同样,仅当我使用IE并且服务器和客户端位于不同的域时,它才会发生。在FireFox中不会发生这种情况。我一直在努力寻找解决方案,直到找到此线程。它有点旧,但我希望我能有所帮助。 我不确定这点信息是否重要,但是我正在通过网关连接到服务器。 我应该在哪里寻找问题的任何线索或建议?

2
投票
2答案
2020 次观看

如何减少MODBUS TCP的ARP刷新导致的TCP延迟

我们有一个应用程序,它以定义的速率定期发送TCP消息(使用MODBUS TCP)。如果在设定的时间内未收到消息,则会发出警报。但是,有时每隔一段时间就会收到一条延迟消息。调查表明,这与刷新ARP缓存有关,导致重新发送TCP消息。 IP堆栈提供者告诉我们,这是TCP的预期行为。问题是, 这是IP堆栈的预期行为吗?如果不是,那么在IP / MAC地址转换不可用的时间段内其他堆栈如何工作 如果这是预期的行为,我们如何减少这段时间内TCP消息的延迟?(已经尝试了永久ARP条目,但不是最佳解决方案)

1
投票
2答案
1582 次观看

JavaScript错误时Google Chrome断开网络连接

我有这个最奇怪的问题,我无法调试它。 我正在编写一个沉重的JavaScript应用程序,当用户上传文件时,该应用程序会弹出一个弹出窗口。实际的文件传输发生在弹出窗口中,该弹出窗口设置为FORM提交目标。 在所有浏览器中均可使用,没有javascript错误。但是,在Google的Chrome浏览器中,提交表单后,我的整个网卡设备(在PC内)都会被阻止-与外界毫无联系。修复此问题的唯一方法是禁用硬件设备,然后重新启用。 我曾见过Chrome在其他时候像这样。这是不可能调试的,因为没有错误,Internet只是停止工作。请不要告诉我这是驱动程序问题:)最有可能是某些JavaScript...

7
投票
2答案
8920 次观看

如何通过端口关闭TCP连接?

我想关闭与服务器上运行的应用程序之间的现有连接。 如果您有任何建议,请回答如何编程,将不胜感激。 请注意:TCPView应用程序可以完全根据需要关闭连接,但是我想将其作为控制台应用程序或其他命令行来运行。

1
投票
1答案
143 次观看

寻找TCP版本

如何找到MacOsX上运行的TCP版本?

1
投票
1答案
13136 次观看

如何创建简单的C#全双工TCP / IP流套接字连接?

如何创建简单的C#全双工TCP / IP流套接字连接? 我需要什么?我需要- 开源库 教程 博客文章/文章

19
投票
2答案
4768 次观看

适用于Windows和Linux的同一台计算机上的套接字

与Windows和Linux上的命名管道和其他方法相比,在执行IPC时使用套接字的效率如何? 现在,我在4个需要通讯的单独盒子上有4个单独的应用程序。两个是在Windows Server 2003 R2上运行的.NET 3.5应用程序。两个是Linux(Suse Linux 10)。它们通常不受CPU限制。流量不是很大,但很重要的一点是低延迟。我们现在使用的套接字已禁用nagle,并且在Linux机器上安装了sles10慢启动补丁。 您认为通过简单地在同一个Windows框上运行两个Windows应用程序和在同一个Linux框上运行两个Linux应用程序并且不进行代码更改(即仍使用套...

4
投票
5答案
225 次观看

什么是连接?

我对面向连接的TCP和无连接的UDP感到困惑,所以请有人澄清一下。 两台计算机之间的每个通信,无论其TCP还是UDP都是通过数据包进行的。无论是TCP还是UDP,两个对等方之间都没有硬线连接。那么为什么说TCP仅在没有收到确认的情况下重发数据包或者将序列号嵌入数据包之内而仅仅因为它重发数据包而被认为是面向连接的呢? 连接的实际含义是什么?沿两个通信对等方之间的路径预订了一段时间的路由器是否接受该特定连接的数据包? 编辑 您何时说两点之间已建立联系? 谢谢

16
投票
2答案
118986 次观看

Windows Server 2008上的最大tcp / ip连接数

我有.Net服务,可通过TCP协议在单个端口上进行侦听。客户端进行连接,然后传输数据一段时间(从几分钟到几小时)。 Windows 2008服务器上的连接数是否有限制?我没有打任何人,因为现在有多达50个用户。计划要有成千上万的用户,所以我想知道将来是否会出现问题。 编辑: 正如Cloud回答的那样,Windows Server 2008的某些版本中似乎存在一些限制。这些限制是否有任何参考?我尝试使用Google,但它会返回关于限制TCP半连接的文章。

0
投票
7答案
2297 次观看

使用tcp / ip套接字实现服务器的最佳编程语言

使用tcp / ip套接字为1000个客户端提供流数据的服务器上实现服务器(多线程)的最佳编程语言(Perl,PHP,Java,Python或其他什么)是什么?

3
投票
5答案
3512 次观看

TCP / UDP的延迟是多少?

请帮助!我有一个需要尽可能接近实时处理的应用程序,并且我一直遇到TCP和UDP的异常延迟问题。延迟会像发条一样发生,并且总是相同的时间长度(通常为15到16 ms)。当传输到任何计算机(本地前夕)和任何网络(我们有两个)上时,都会发生这种情况。 快速解决问题: 我一直使用在VS 2008 Pro中编译的C ++中的winsock,但是我编写了一些程序,使用TCP和UDP以各种方式发送和接收。我总是使用以各种语言(MATLAB,C#,C ++)编写的中间程序(在本地或远程运行)将信息从一个程序转发到另一个程序。两个Winsock程序都在同一台计算机上运行,​​因此它们在同一时钟上显示T...