network-programming相关内容

如何在套接字编程中获取接收到的数据包的 tcp 标头?

我想获取每个接收到的 TCP 数据包的 TCP 头(发往特定程序,即端口)似乎不可能使用 recv() 或 recvfrom() 来使用常规套接字获取 TCP 标头. 所以,我想使用原始套接字使用原始套接字,我可以使用 recvfrom() 接收所有发往主机的 IP 数据包如果主机收到很多数据包,我需要检查每个数据包的端口号,看看是否需要它.那么这可能是非常耗费时间和 CPU 的? whi ..
发布时间:2022-01-19 16:36:54 其他开发

使用 async/await 进行异步网络编程

在过去的几年中,我使用异步编程模型和套接字开发了客户端/服务器软件.这个 example 在 MSDN 上,虽然过于复杂使用 ManualResetEvents 等同步机制说明了这些概念:您使用 BeginXXX() 和 EndXXX() 方法对进行连接和流操作. 这样做的好处是让线程池根据需要(例如,当接收到数据时)分配线程,而不是每个连接都有一个专用线程,这无法扩展. 最近有人提到 ..

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

通过套接字发送的字符串中的最后几个字符有时在 Java 网络程序中丢失

现在,我正在尝试编写一个基于 GUI 的 Java tic-tac-toe 游戏,该游戏通过网络连接运行.它在这一点上基本上可以工作,但是我有一个间歇性错误,其中通过网络连接发送的几个字符在游戏过程中丢失了.一种情况是这样的,当 println 语句被添加到消息发送/读取时: 玩家 1:刚刚发送 ROW 14 COLUMN 11 GAMEOVER true 玩家 2:刚收到 ROW 1 ..
发布时间:2022-01-19 16:36:24 Java开发

在Golang中检查IP地址片中IP的有效方法

我正在用 Golang 开发一个网络应用程序.我有一部分 IP 地址.每次收到请求时,我都会使用 net.LookupIP(host) 来找出返回 net.IP 片段的主机 IP 地址.比较这些的最佳方法是什么? 顺便说一句,在 Python 中,我们有一个 set 数据结构,这使得上述问题很容易解决,但是 Go 呢? 解决方案 带“set" 构建我们的集合 Go 中没有 ..
发布时间:2022-01-19 16:35:48 其他开发

为不同用户返回 VBA 网络驱动器号

我为自己和同事创建了一个门户,用于下载引用不同网络驱动器的工作簿模板以进行整合. 门户托管在“会计"(Z:/) 驱动器中,但其中一个工作簿引用了不同驱动器“BI"(Y:/) 中的电子表格. 这在我的机器上运行良好,但我的同事有不同的驱动器号(例如 M:/Accounting、U:/BI). 有没有办法在网络中搜索名称并返回驱动器号? 这是我的代码的粗略近似: 选项显式子我 ..
发布时间:2022-01-19 16:35:42 其他开发

Qt QNetworkReply 连接关闭

我尝试在 c++ 中将 post 方法执行到 url https://...,但我收到连接关闭错误. 如果我使用像 https://www.google.gr 这样的其他网址,我发现我的代码可以正常工作. 如果我删除端口 8181 我会收到错误:服务器已回复:未找到. 我的代码是 static const char *REQUEST_URL="https://...";静态 c ..
发布时间:2022-01-19 16:35:31 C/C++开发

是否有任何可用的 C 库包含 ifconfig 的 API?

我想设置 MTU 或获取一些设备详细信息,但我不想使用系统(“ifconfig ..."). 有没有办法在 C 中做到这一点?有些像 libifconfig.so? MTU的源代码可以找到这里. 但我现在真的没有太多时间.如何获取所有可用接口的名称(我的系统中有很多) 解决方案 可以通过ioctl来完成.请参阅 netdevice(7).我猜 SIOCGIFMTU 和 S ..
发布时间:2022-01-19 16:35:18 服务器开发

NetworkStream 不支持查找操作

我正在创建简单的代理服务器,但遇到了一个奇怪的情况,我有以下代码: var clientRequestStream = _tcpClient.GetStream();var requestHeader = clientRequestStream.GetUtf8String(); GetUtf8String 是 Stream 类的扩展方法,它读取流(包含 HttpRequest 标头).我需要提 ..
发布时间:2022-01-19 16:35:13 C#/.NET

java/grails中的服务器端网络打印

我是 java/grails 开发人员,致力于重新设计软件系统. 其中一个要求是让服务器端应用程序将数据发送到各种网络打印机以打印文本数据. 我在网上搜索了有关 java 网络打印的信息,结果很短我查看了 Java Print Service API、java.awt.print、javax.print 并没有发现任何关于连接到网络打印机的信息. 我正在尝试做的事情是可能的还是有 ..
发布时间:2022-01-19 16:35:04 Java开发

在 FreeBSD 上使用 IP 枚举所有网络接口

我的应用程序需要列出机器上的所有网络接口及其 IP、IPv4 和 IPv6. 我可以使用 ioctl(SIOCGIFCONF) 获取所有带有 IPv4 IP 的接口,但我也需要 IPv6 IP. 在 Linux 上,这些可以从/proc/net/if_inet6 获得,但我在 FreeBSD 上从哪里获得? 解决方案 getifaddrs(3) 提供了可移植的方式来获取网络地址 ..
发布时间:2022-01-19 16:34:55 其他开发

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 其他开发

使用 udp 时确定服务器是否正在侦听

设置:我想写一个点对点的Connection类,使用时不区分服务器和客户端.调用 connect() 的第一个主机将成为等待客户端连接的服务器,第二个将成为连接到服务器的客户端. 为了做到这一点,connect() 方法首先需要检查监听服务器.a) 第一次发生这种情况时,没有找到服务器,调用 connect() 的一方开始监听 localhost 和配置的传入端口联系.b) 调用 conne ..
发布时间:2022-01-19 16:34:07 C#/.NET

使用 WinPcap 的原始 WiFi 数据包

考虑使用简单的 C 代码发送一个原始数据包WinPcap.与构建数据包头相关的行以以下注释开头: /* 假设在以太网上,设置 mac 目的地为 1:1:1:1:1:1 */ 因此,您可能会猜到,为了发送原始 WiFi 数据包,您应该相应地更改此代码块. 但是,事实并非如此.您无需更改任何一行代码即可发送原始 WiFi 数据包,只需填写正确的 MAC 地址.捕获数据包时也是如此,而 ..
发布时间:2022-01-19 16:33:50 其他开发

原始套接字编程 UDP Python

如何在 Python 中以 SOCK_RAW 格式添加 IP 和 UDP 标头等自定义字段?我希望在数据包中有一个自定义字段并在计算中使用该字段. 解决方案 您没有指定自定义字段的位置.此示例允许您随意构建 UDP 标头(至少在 Linux 上 - 可能存在依赖于操作系统的行为): 从套接字导入 *导入结构s = 套接字(AF_INET,SOCK_RAW,IPPROTO_UDP)数据=' ..
发布时间:2022-01-19 16:33:40 Python

是否可以无限期保持套接字打开

我是网络编程新手.我很感兴趣是否可以通过 Java 服务器和 C 客户端之间的套接字建立网络连接并保持连接无限打开?我想保持连接打开以在客户端之间交换 XML 数据. 解决方案 理论上可以无限期地保持服务器套接字打开;但是,客户端套接字不能这样做.主要原因是客户端socket依赖于服务端socket处理数据,而服务端socket可能会关闭连接. 虽然可以无限期地保持连接打开,但实际方 ..
发布时间:2022-01-19 16:33:30 Java开发

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

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