networking相关内容

Java RMI 资源

我目前正在开展一个涉及广泛使用 Java RMI 的项目,我想知道是否有人知道有关它的任何好的资源. 我目前发现的材料的问题是它通常已经过时(如 Java 1.3)和/或半完整.我什至很乐意买一本关于它的书,但在亚马逊上看,所有的书都像是 7 岁了. 因此,如果有人知道任何好的资源、书籍或好的示例实现,我会非常有兴趣了解它们. 解决方案 RMI Hello World 看起来不 ..
发布时间:2022-01-19 16:47:09 Java开发

如何计算 TCP 校验和

我正在编写一个内核模块,它使用 Netfilter 钩子来修改一些 TCP 标头信息,显然,在发送之前,我想重新计算校验和. 我还在接收端编辑了标题,所以我也需要在那里重新计算. 在网上搜索,我发现有人说我可以简单地将它设置为 0 并且它会为我计算,显然这不起作用. 我也发现了这个功能 tcp_v4_send_check(struct sock *sk, struct sk_buff ..
发布时间:2022-01-19 16:46:15 服务器开发

游戏网络射弹实施/概念问题

我正在尝试找到某种解决方案来解决同步弹丸射击和游戏网络的常见问题,但我不确定哪种方法最合适. 这是一个 2D 动作横向卷轴,带有多个射弹(没有即时打击武器),并且已经有很多框架(C# XNA 框架和 Lidgren 库). 此时我认为架构将被建模为类似于半衰期源引擎.客户端将在过去 100 毫秒或大约 3 帧(固定步长 30 fps)内插入远程实体,并使用客户端预测.服务器对模拟具有权 ..
发布时间:2022-01-19 16:46:00 C#/.NET

tcp流重放工具

我正在寻找一种工具来记录和重放 TCP 流的一侧以进行测试.我看到了记录整个 TCP 流(服务器和客户端)以测试防火墙等的工具,但我正在寻找的是一个工具,它只记录客户端提交的流量(带有时间信息)然后重新提交它到服务器进行测试. 解决方案 由于TCP处理重传的方式,序号,SACK 和窗口化这可能比你想象的更困难. 通常人们使用 tcpreplay 进行数据包重放;但是,它不支持同步 T ..
发布时间:2022-01-19 16:45:43 其他开发

检查 IP 是否在 LAN 中(在防火墙和路由器后面)

我已经在网络上爬了大约 5 个小时,但找不到解决我的问题的方法: 我的公司正在开发一款教育游戏,我正在使用 Monotorrent 为其编写自动更新程序.该游戏将在学校使用,但由于大多数学校的互联网连接非常薄弱,因此网络中应该只有一台计算机从 httpsseed 下载,其他计算机应该从从 httpseed 下载的一台计算机窃取. 所以我从跟踪器中获取了大量 IP 地址,并且只需要过滤掉 ..
发布时间:2022-01-19 16:44:38 C#/.NET

使用 C/C++ Socket 模拟网络条件

我正在寻找一种将网络仿真添加到套接字的方法. 基本的解决方案是为连接增加带宽限制. 对我来说理想的解决方案是: 支持高级网络属性(延迟、丢包) 开源 具有与标准套接字类似的 API(或环绕它们) 在 Windows 和 Linux 上工作 支持 IPv4 和 IPv6 我看到了一些在系统级别上工作的选项,甚至作为代理(Dummynet、WANem、neten 等), ..
发布时间:2022-01-19 16:44:22 C/C++开发

基于流的路由和openflow

这可能不是典型的 stackoverflow 问题. 我的一位同事一直在猜测,基于流的路由将成为网络领域的下一件大事.Openflow 提供在大型应用程序、IT 数据中心等中使用低成本交换机的技术;替换 Cisco、HP 等交换机和路由器.理论上,您可以通过简单的配置创建这些 openflow 交换机的层次结构,例如.没有生成树.开放流将仅使用交换机层次结构的知识(无路由器)将每个流路由到适 ..

“192.168.1.1/21"是什么意思?意思是?

当他们在 IP 地址后面写一个斜线后跟一个数字时,这是什么意思? 解决方案 斜杠后面的部分是要使用多少子网掩码位.由于使用无类路由,因此您使用斜线而不是说 A 类或 B 类.示例: 192.168.1.1/24 是 192.168.1.1 255.255.255.0 255.255.255.0 正在使用 32 位 的 24 来创建子网. 在二进制中它看起来像这样: 111111 ..
发布时间:2022-01-19 16:40:47 其他开发

如何模拟不同的 NAT 行为

我正在使用 UDP 和 UDT 进行打孔.对于最终测试,我需要在不同的 NAT 类型(对称、全锥、受限锥、端口受限 NAT)上测试应用程序. 有什么方法可以模拟这些吗?我在这里期望的是某种虚拟框设置.能不能把PC当成路由器,根据自己的需要进行配置? 一般来说,我们如何针对不同的网络条件测试应用程序? 解决方案 我想你已经回答了自己的问题,使用 VirtualBox(或 VMwa ..
发布时间:2022-01-19 16:40:41 其他开发

Python 中的带宽限制

有哪些库可以让您控制网络请求(尤其是 http)的下载速度.我没有看到 urllib2 中的任何内置内容(也没有在我打算使用的 (Py)Qt 中). Twisted 可以控制带宽吗?如果没有,如何控制 urllib2 或 Twisted 的读取缓冲区大小?sleep不能暂停网络操作. 解决方案 当然twisted可以.你想要 twisted.protocols.policies.Th ..
发布时间:2022-01-19 16:40:17 Python

socket连接和tcp连接有什么区别吗?

这两个概念是指同一个东西吗?它们有区别吗? 在我看来,它们是不同的,socket连接是基于tcp连接的.一个套接字包含一个IP地址和端口,它只能连接到另一个套接字,但是同一台机器中的一个IP地址和端口可以通过TCP连接与许多其他IP地址和端口连接.是这样吗? 解决方案 TCP/IP 是用于通信的协议栈,套接字是(双向)通信中的端点.套接字不一定是基于 TCP 的,但它经常是这样的.术 ..
发布时间:2022-01-19 16:40:08 其他开发

为什么我们说 TCP/IP 套件中的 IP 协议是无连接的?

为什么IP被称为无连接协议?如果是,那么面向连接的协议是什么? 谢谢. 更新 - 1 - 20:21 2010/12/26 我认为,为了更好地回答我的问题,最好从物理上和逻辑上解释“连接"的实际含义. 更新 - 2013 年 2 月 1 日上午 2 点 - 9:59 基于以下所有答案,我觉得这里提到的“联系"应该被视为一组行动/安排/纪律.因此,它更像是一个抽象的概念 ..
发布时间:2022-01-19 16:39:59 其他开发

为什么在 TCP 中使用 bind()?为什么它只用在服务器端而不用在客户端?

我想知道 TCP 中 bind() 的确切功能.将本地地址“绑定"到套接字是什么意思?如果它为套接字分配一个端口号,那么我们为什么不在客户端使用它呢?我知道该端口是由操作系统在客户端自动分配的,但我并没有全面了解这一切是如何工作的. 在bind()之后,我们监听().绑定与listen() 有什么关系?listen() 会知道 bind() 已经执行了吗?如果是这样,bind() 会进行哪些 ..
发布时间:2022-01-19 16:39:22 其他开发

有一种方法可以在 java 中测量延迟网络

我正在使用一个简单的程序,一开始我将在所有 MAN 主机上执行 ping 操作,以验证是否所有主机都在线(完整),但我想实现一些测量主机之间延迟的方法.有没有办法做到这一点?有什么建议吗? 无论如何,谢谢 解决方案 您可以保留 ping 和 pong 打包的时间戳,并简单地计算两者之间的差异两个. 根据定义,延迟 您可以多次重复该过程以计算其他指标,例如抖动. 以下 ..
发布时间:2022-01-19 16:38:52 Java开发

如何确定目的MAC地址

我的应用程序在 CentOS 5.5 上运行我需要使用 libpcap API 发送原始数据包: pcap_inject() 或 pcap_sendpacket() 到具体的IP地址如何确定 MAC 地址属于特定目标? 解决方案 看起来你想要的是 ioctl 和 SIOCGARP.那应该让您查询您的arp缓存.我假设有问题的主机在您的本地网络上,或者您将获得的只是您的路由器. 您 ..
发布时间:2022-01-19 16:37:25 服务器开发

Python 3.4:未知格式代码“x"

我对 Python3 中的数据包嗅探器有疑问. python 版本:3.4 我遵循了一些有效的教程,但不是在我的计算机上.此代码必须获取 mac 地址,将其转换为字符串,并且在 main() 方法中应该向我打印目标 mac、源 mac 和协议. 代码:sniffer_demo.py 导入套接字导入结构导入文本换行定义主():conn = socket.socket(socket ..
发布时间:2022-01-19 16:36:38 Python

gethostbyaddr 在 Windows 上可以,但在 Linux 上返回 NULL

这段代码在 Windows 上运行正常,但在 Linux 上 gethostbyaddr 返回 NULL. 我尝试了很多更改,但都没有成功. 我的/etc/host.conf 有以下行 订购主机,绑定 我运行完整代码并传递地址 11.234.456.74,在 Windows 上 gethostbyaddr 解析地址并且工作正常.但是在 Linux 上它不解析 ip 地址并返 ..
发布时间:2022-01-19 16:34:31 其他开发

如果套接字必须已经绑定到它,为什么 DatagramSocketImpl joinGroup 方法需要一个 NetworkInterface?

只是好奇.那是多余的吗?您还没有绑定到您要使用的网络吗?当您绑定到 0.0.0.0 并且现在只想从接口 X 收听多播数据包时,也许就是这种情况? 解决方案 如果您绑定到 INADDR_ANY(这是正常情况),则加入组 IGMP 消息会通过路由表所说的提供到多播地址的最短路由的任何 NIC 接口发出.在多宿主主机中,您可能需要它通过所有 NIC 出去,因此您可以循环它们依次通过每个 NI ..
发布时间:2022-01-19 16:33:22 Java开发

TCP URG(紧急数据)是否得到确认?

在带有 URG 标志的 TCP 段中也可能有正常数据.接收主机如何处理紧急数据包?如果它不是数据流的一部分,它如何确认紧急数据?它承认其余部分吗? 我知道它通常不使用,但是如果两个主机都支持相同的关于 URG 标志的 RFC,它们如何处理带外数据? 如果紧急数据是中止消息,接收方将丢弃所有其他数据,但发送方仍需要确认消息已收到. 解决方案 一点背景: TCP 紧急机制允许 ..
发布时间:2022-01-19 16:29:45 其他开发

boost::asio - 窥视套接字缓冲区

我使用 boost::asio::read (或者可能是等效的 async_read) 从套接字读取一些数据. 是否可以将读取的字节保留在底层套接字中,以便下次在套接字上调用 read 时再次收到该数据? 解决方案 就像 Simon 说的,你不能用 boost::asio::read() (或 boost::asio::async_read()).但是,对于 read() 您可以在套 ..
发布时间:2022-01-19 16:26:04 C/C++开发