问题标签 [tcp-ip]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
debugging - 单步执行 TCP/IP 堆栈
我曾担任专有嵌入式操作系统的 QA 工程师。他们构建了自己的ATN 堆栈,并使用调试器逐步调试它是我在网络方面最令人大开眼界的体验。看着堆栈的每一层构建他们的数据包部分是惊人的。然后终于能够在电线上看到构建的数据包具有更多意义。
作为一名教育工作者,我想与其他人分享这种经验。有谁知道通过 TCP/IP 堆栈的直接方法?理想情况下,我想要一些比调试 *BSD 或 Linux 内核更容易的东西,尽管如果这是唯一的选择,那么这个过程的一些技巧和窍门会很好。一个用 C/C++ 编写的可以在 Visual Studio 或 Eclipse 的用户模式下运行的参考堆栈将是理想的。
mobile - Opera 迷你服务器
是否可以将 Opera Mini 服务器用于我自己的移动应用程序(Opera Mini 使用它们的方式)?为此,据我所知,需要了解他们的服务器协议。也许,已经开发了一些库......
tcp-ip - 3g 连接无限期保持套接字打开的开销是多少
为了在蜂窝网络上保持 tcp/ip 套接字打开,手机是否必须继续发送数据?
在以太网上的 tcp/ip 上,您可以偶尔打开套接字发送保持活动状态。
tcp/ip over 3g 有什么不同吗?
tcp-ip - ipv4 标头校验和
我是 TCP/IP 套件的初学者。
ip header 的一个字段 HEADER CHECKSUM 是通过将 header 视为一个 16 位整数序列,使用补码算法将它们加在一起,然后取结果的补码而形成的。
但是ip头中还包含TTL字段,在传输过程中可能会发生变化。为什么它不会导致发送者和接收者之间的不一致?
tcp - 扩展基于 TCP/IP 的系统并确保高可用性
我有一个基于 TCP/IP 的组件,它与基于 c++ 的系统进行通信。事实上,它正在从该系统读取原始字节,然后将这些原始字节编组到对象中并将其存储在数据库中。这个基于多线程 tcp/ip 的组件在 java 中,可以部署在双核或四核处理器上(不确定它对我的问题是否重要,但我给出了一个细节)。现在我有几个问题:
如何扩展这个基于 tcp/ip 的组件。该组件部署在服务器上并正在侦听端口。将来,如果此时设想有更多来自 C++ 系统的数据,我们应该能够扩展这个 java 组件。
安全呢。我可能可以做的一件事是在安全套接字上使用这种通信,或者可能获得加密数据(我可以在这里使用的任何特定加密??)。有没有其他的方法来保护安全?
还需要满足高可用性的要求。我该如何处理?我怎么可能在这里有冗余?
是的,我们正在研究产品的系统架构,因此,我想知道是否有经验丰富的架构师或设计师可以帮助我。
linux - 使用 tcp_tw_recycle 删除连接
问题总结
我们有一个设置,其中很多(每秒 800 到 2400 个传入连接到 linux 机器,我们在客户端和服务器之间有一个 NAT 设备。所以系统中剩下这么多 TIME_WAIT 套接字。为了克服这个问题,我们已将 tcp_tw_recycle 设置为 1,但这导致了 comming 连接的丢失。在浏览网络后,我们确实找到了为什么会发生 tcp_tw_recycle 和 NAT 设备丢失帧的参考。
尝试解决
然后我们尝试将 tcp_tw_reuse 设置为 1,它工作正常,没有任何问题,使用相同的设置和配置。
但是文档说,当通过 TCP 状态感知节点(例如防火墙、NAT 设备或负载平衡器)的连接可能会看到丢帧时,不应使用 tcp_tw_recycle 和 tcp_tw_reuse。连接越多,您就越有可能看到此问题。
查询
1) tcp_tw_reuse 可以用在这种场景吗?2)如果不是,linux代码的哪一部分阻止了tcp_tw_reuse被用于这种情况?3)一般tcp_tw_recycle和tcp_tw_reuse有什么区别?
android - 从 android 应用程序获取 tcp 标头字段
我目前在 Android 应用程序中使用 Socket 类进行 TCP 通信。有没有办法添加一些数据包分析功能,例如读取 TCP 标头字段?谢谢。
networking - 网络连接关闭
请帮我解码以下内容。我的网络有问题,无法弄清楚它在哪里。以下是我们通过运行 OPNET 软件从捕获中获得的解码摘要。
我认为连接 2 是成功的,客户端以 FIN 结束,而连接 1 过早结束发出 RST,可能是什么原因..?
连接 1 帧源目标解码摘要
480 服务器客户端 D=3590 S=443 FIN ACK=3832271994 SEQ=1338775336 LEN=0 WIN=11088 481 客户端服务器 D=443 S=3590 ACK=1338775337 SEQ=3832271994 LEN=0 WIN=64512 502 客户端服务器 D=443 S =3590 RST ACK=1338775337 SEQ=3832271994 LEN=0 赢=0
连接 2
855 服务器客户端 D=3600 S=443 FIN ACK=3778329063 SEQ=3650187663 LEN=0 WIN=26328
856 客户端服务器 D=443 S=3600 ACK=3650187664 SEQ=3778329063 LEN=0 WIN=63297
857 客户端服务器 D=443 S=3600 FIN ACK=3650187664 SEQ=3778329063 LEN=0 WIN=63297
859 服务器客户端 D=3600 S=443 ACK=3778329064 SEQ=3650187664 LEN=0 WIN=26328
总之,连接结束是,
1 - 服务器:FIN,客户端:RST
2 - 服务器:FIN,客户端:FIN
java - 2 方式通过互联网与 Android 手机和 PC 通信
我正在尝试用我的 PC 上的 Andriod 手机控制遥控车(通过 3g 互联网)
我打算使用ioio(这只是一块我可以通过USB插入安卓手机的板)
我现在正在处理的部分是从我的 PC 到我的 Andriod 应用程序的通信。我以前从未制作过 Andriod 应用程序,而且我是一名业余 C# 开发人员。
目前我正计划通过 UDP 进行通信,因为我可以很容易地用 Java 创建一个 UDP 服务器/客户端。(http://systembash.com/content/a-simple-java-udp-server-and-udp-client/)
但是我认为这可能需要公共 IP 地址?我的客户端或服务器上都没有。
因此,为了简单起见,您将如何通过 Internet 在 2 个 JAVA 应用程序之间进行通信。如果您需要从相机和简单的命令流式传输视频。
c# - 如何检查谁使用 C# 中的某个端口?
如何确定我的本地主机的端口 80 正在使用什么进程/什么可执行文件?我想知道,例如它是否是 Apache Server 等。
我们可以从 ipProperties.GetActiveTcpListeners() 获得一些信息吗?我只看到了本地端点、远程端点和状态。