草庐IT

Networking

全部标签

networking - Google Chat 服务器如何向数亿客户端推送通知?

考虑一个Web应用程序,例如GoogleChat,其中的服务器同时为数亿个客户端提供服务。在此类应用程序中,服务器必须近乎实时地向客户端推送通知(在聊天示例中-传入消息、状态通知等)。他们是如何实现的?很大一部分客户端是基于浏览器的。我想轮询甚至会使Google的服务器重载。那么,他们使用的是Comet之类的东西吗?如果是这样——他们是否需要为每65536个客户端分配一个服务器(每台机器的最大TCP连接数)?我知道有一种方法可以circumstance这个限制,但我不知道它是如何实现的。 最佳答案 聊天不是由单个应用程序/硬件/实例

一段时间后 Android long-during TCP 套接字连接失败

我正在编写一个使用TCP套接字连接的客户端-服务器应用程序。在我的android项目中,Service创建了一个线程来监听TCP套接字。一切似乎都很好。但是我遇到了一个问题。我的网络服务在后台运行良好;但是一段时间后(10-15分钟..),当我尝试再次打开我的应用程序(主要Activity)时,我无法从套接字连接中获得响应。它卡住或什么?我无法从套接字发送或获取TCP消息。这可能是什么原因?我正在通过3G连接使用手机。(另外,在模拟器中运行的应用程序没有出现这样的问题;我假设它的连接是稳定的,long-during)感谢您的回答。 最佳答案

Solaris 上的网络帮助

我的Solaris机器上有两个网络接口(interface),ifconfig-a的输出如下所示:lo0:flags=1000849mtu8232index1inet127.0.0.1netmaskff000000bge0:flags=1000843mtu1500index2inet10.17.56.150netmaskffffff00broadcast10.17.56.255ether0:14:4f:7e:4a:68bge1:flags=1000843mtu1500index3inet10.0.226.166netmaskffffff00broadcast10.255.255.255

python TCP客户端无法连接到我的TCP服务器

我可以运行我的程序的两个实例并将它们相互连接,但是当使用不同ip的其他人尝试连接到我的服务器时,他们的套接字无法连接。我的代码没有输入用户计算机的ip,但有我的ip(因为我将成为唯一运行服务器的人)硬编码。这是服务器类连接函数:defconnect(self,host,port):self.host=hostself.port=portself.unconnected_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)self.unconnected_socket.bind((self.host,self.port))self

c# - 如何处理 TcpClient 从 TcpListener 断开连接

我有一个使用TcpClient的客户端和一个使用TcpListener的服务器。当客户端与服务器断开连接时,我该如何处理?如果程序崩溃了,我该如何处理断开连接? 最佳答案 如果您的程序崩溃,操作系统中的所有当前连接都将关闭。使用TCPClient,您可以将其分配给您自己的类(在构造函数等中),并从您的类中发出一个用于断开连接的事件。然后在连接到达时在您的监听器中创建您的类,在某处(列表、字典等)添加对该类的引用。附上事件,愉快进行。如果你想在套接字级别处理服务器连接断开,通常只有当你想“写入”到套接字时,你才能真正检测到它不再连接到

ruby - 通过 Internet 发送 TCP 数据包(使用 Ruby)

我正在尝试学习如何通过Internet将TCP数据包发送到另一台计算机。也就是说,计算机1通过Internet将数据发送到计算机2(使用TCP)。假设两台计算机都正确设置了端口转发,我将如何在两台计算机之间建立TCP连接(最好使用Ruby)?我在我的LAN上运行它,但是当我通过Internet尝试时,它似乎不起作用。我的尝试(基本上):计算机1:server=TCPServer.new32500client=server.accept计算机2:TCPSocket.newPUBLIC_IP_OF_COMPUTER_1,32500问题是TCPSocket永远不会连接到TCPServer。我

networking - 移动网络方面的持久 TCP 连接?

我对移动连接中的WebSocket通信有疑问。我想知道当用户在不同网络之间迁移时,如何在移动网络中长时间处理长期存在的TCP连接。当发生切换(hand-off)时,已经建立的TCP连接会怎样?在这种情况下,不同技术(3G、4G等)的表现是否不同?如果你能留下一些在线资源或文章,我将不胜感激,我可以在这方面阅读更多内容?提前谢谢你:) 最佳答案 切换对用户始终是透明的——在LTE、UMTS等商业移动网络上的塔之间转换时,所有TCP和语音连接始终保持事件状态。您可能会遇到数据停止的某些时间段流动,但仅此而已。通过在T-MobileUSA

networking - 仅使用 NAK 的数据传输协议(protocol)如何可靠?

我一直在学习计算机网络方面的书(这不是作业题)其中一个问题比较了基于ACK和NAK的数据传输协议(protocol),重点是对于基于NAK的协议(protocol),当接收到第(x+1)个数据包时,接收方可以检测到数据包x的丢包.但是,我的问题是,如果接收方发送的NAK在到达发送方之前丢失了,会发生什么情况?发件人不会意识到错误,也不会重新传输。此外,如果数据包是序列中的最后一个数据包怎么办?(没有后续数据包可以测试)我看不出只有NAK的协议(protocol)如何可靠(以正确的顺序传送每个数据包) 最佳答案 我怀疑书中描述的理论背

networking - 将网络接口(interface)卡接收到的所有数据包推送到 TCP/IP 堆栈

是否可以将NIC接收到的所有数据包推送到TCP/IP堆栈,即使它们的以太网地址与我的以太网地址不匹配?换句话说,我想在我的NIC上处理所有传入的数据包。谁能提到更改网络接口(interface)驱动程序代码的可能场景?我如何检查驱动程序代码的操作? 最佳答案 在典型的系统中,这已经发生了。也就是说,您所要做的就是将接口(interface)置于混杂模式。然后驱动程序将它接收到的所有数据包发送到TCP/IP堆栈。检查任何普通的网络驱动程序,您会发现在处理接收到的数据包时,不会将MAC(或以太网)地址与设备的MAC地址进行比较。大大简化

networking - 在哪些情况下 tcp 接收方收到有效的 syn 段但仍然没有 syn ack?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestion在哪些情况下,TCP接收方会收到有效的SYN段,但仍不会发送SYN-ACK段作为响应?