network-programming相关内容

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

example.com 可以作为域示例,示例 IP 地址是什么?

我们经常使用 example.com 作为域名参考.我想知道是否有任何 IP 地址用作示例 IP 地址以在教程或注释等参考资料中提及?我知道可以使用环回接口 127.0.0.1,但它一直以本地系统而闻名. example.com IP 地址是否可以合法用于此目的? 解决方案 块 192.0.2.0/24 (TEST-NET-1),提供 198.51.100.0/24 (TEST- ..
发布时间:2022-01-19 16:39:46 其他开发

boost::asio 完全断开连接

有时 boost::asio 似乎在我想要它之前断开连接,即在服务器正确处理断开连接之前.我不确定这是怎么可能的,因为客户端似乎认为它完全发送了消息,但是当服务器发出错误时,它甚至没有读取消息头......在测试期间,这可能只发生五分之一,服务器收到客户端关闭消息,并干净地断开客户端. 错误:“现有连接被远程主机强行关闭" 客户端断开连接: void disconnect(){boo ..
发布时间:2022-01-19 16:39:40 C/C++开发

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

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

哪些书籍可以学习套接字编程和 TCP 网络通信?

我将在接下来的几个月里做一些小项目,需要一些书(最好)或 URL 来学习一些基本概念. 一般来说,一台 PC 或嵌入式设备(因项目而异)从外部硬件设备收集一些用户输入或数据,并将其传输到远程 PC,然后将其输入数据库. 后端将使用 Indy 套接字组件在 Delphi 中编码.前端可能是一台使用相同 Indy 套接字运行 Delphi 应用程序的 PC,但它可能同样是一个小型控制器板, ..
发布时间:2022-01-19 16:39:11 其他开发

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

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

如何在java中的客户端套接字程序中知道客户端端口和IP地址

我使用套接字在 java 中创建了一个多客户端-服务器通信.我有一个服务器和一个客户端.我想用多个客户端测试我的程序.我计划创建一个动态创建 ip 和端口的模拟器.为此我只想知道如何在套接字程序中设置客户端 ip 和端口.任何人都可以帮助我.. 我使用 InetAddress.getByName 来获取客户端地址. public Socket(代理代理){if (proxy != null & ..
发布时间:2022-01-19 16:38:27 Java开发

HTTP 服务器未向 WGET、Firefox 发送完整文件.对等方重置连接?

我正在编写 HTTP 服务器,但无法发送较大的文件.如果我用 netcat 抓取它们,输出看起来很完美.如果我使用浏览器或 wget,有时我只能获得完整的文件.WGET 不断收到“对等连接重置"错误,请参见下面的输出.Firefox 说“连接已重置". 以下是向客户端发送数据的相关过程: int handle_request(int sockfd, struct cached_file c ..
发布时间:2022-01-19 16:38:17 其他开发

线程应该等待完成 kext 编程中的设备请求

我正在 mac 上开发设备驱动程序.我的问题是我们如何使设备请求异步到同步.就像我向设备发送一个发送封装的命令,并在收到中断管道的通知后使用获取封装的命令得到它的响应.所以我怎样才能让我的线程等到上述所有请求都没有完成(发送和获取). 解决方案 你可能需要比这更具体一点.但一般来说,如果你需要一个线程休眠,直到你的某个函数在另一个线程上被调用,你可以使用 xnu 的事件系统.由于这是一个设 ..

通过 C 中的 TCP 通信,如何在不知道有关数据的任何先验信息的情况下指示停止为请求调用 read()?

我目前正在用 C 语言编写一个服务器,该服务器使用 TCP 通过套接字进行通信.客户端应该发送 {filename\n} + {file contents\n},服务器将存储该信息,然后发送成功响应.但是,我们不能确定客户端实际上会在结构化协议中发送正确的信息. 通常在更简单的情况下,我们知道之前要发送的指定字节数,并且可以等到达到指定的字节数.在这种情况下,我们不需要,目前代码如下所示: ..
发布时间:2022-01-19 16:37:49 其他开发

是否可以通过设置 IP 标头来启用 IP 分段来发送大型 UDP 数据包?

我正在编写一个 UDP 客户端和 UDP 服务器. 我有一些较大的 UDP 有效负载,介于 2000-3000 之间.我尝试了一些简单的测试.我让 UDP 客户端在一个数据报中发送 2000 个字节,并使用 tcpdump 来捕获数据包.我注意到只有 1 个传出数据包,它没有被解析为 UDP 数据包,而是一个 1514 字节的 IP 数据包,这意味着大约有 500 个字节丢失. 是否可 ..
发布时间:2022-01-19 16:37:40 其他开发

如何在双栈操作系统上同时获取 IPv4 和 IPv6

我有双栈机器. 我的问题是我只能使用 IPv4 InetAddress 地址 = InetAddress.getLocalHost(); 如果我使用网络接口 API,那么我将获得所有 IP 地址,其中包括我的 MAC 地址以及 IP 地址的形式.why-do-i-get-multiple-global-ipv6-addresses-listed-in-ifconfig 现在有什么方 ..
发布时间:2022-01-19 16:37:32 Java开发

如何确定目的MAC地址

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

聊天应用程序中的错误

我是java新手.我试图制作聊天应用程序,但是当我运行单个客户端时会出现一些错误.为什么文本区域和文本字段不显示.我得到的是由于 accept function 而发生这种情况.当编译器到达接受函数时,应用程序变得忙碌.即应用程序的屏幕什么都不显示. 客户一号代码: import java.awt.*;导入 java.awt.event.*;导入 javax.swing.*;导入 java ..

在java中使用非阻塞I/O发送消息(NIO API)

我正在编写一个服务器/客户端程序,客户端将文本消息发送到服务器.我使用了非阻塞 I/O (NIO API),但服务器上的消息无法正确显示.这是我在服务器上的代码: private JTextArea displayArea;私有int numBytes;私有 ByteBuffer 缓冲区;/*...一些代码在这里...*/displayArea = 新的 JTextArea();add(new ..
发布时间:2022-01-19 16:37:01 Java开发