sockets相关内容

C# UDP Socket 客户端和服务器

我在这里的第一个问题.我是这种编程的新手,我只编写过 .NET 网站和表单. 现在,我工作的公司要求我制作一个 ActiveX 组件,它侦听 UDP 消息并将它们转换为事件. UDP 消息是从 Avaya 系统发送的,所以我被告知要测试我的 ActiveX,首先我需要创建一个只发送 UDP 的应用程序(只有一个发送预定义 UDP 字符串的按钮).然后创建侦听器套接字,普通的 C# 应用 ..
发布时间:2022-01-22 16:30:47 C#/.NET

如何在套接字上设置不分段(DF)标志?

我正在尝试设置 DF(不分段标志)以使用 UDP 发送数据包. 看 Richard Steven 的书 Volume 1 Unix Network Programming;Sockets Networking API,我找不到如何设置它. 我怀疑我会使用 setsockopt() 执行此操作,但在第 193 页的表格中找不到它. 请建议如何做到这一点. 解决方案 您可以通 ..
发布时间:2022-01-22 16:27:00 C/C++开发

设置 UDP 套接字的源 IP

我有一个绑定到 INADDR_ANY 的 UDP 套接字来监听我的服务器拥有的所有 IP 上的数据包.我正在通过同一个套接字发送回复. 现在服务器在发送数据包时会自动选择哪个IP作为源IP,但我希望能够自己设置传出源IP. 有什么方法可以做到这一点,而不必为每个 IP 创建单独的套接字? 解决方案 Nikolai,为每个地址使用单独的套接字和 bind(2) 或弄乱路由表通常不 ..
发布时间:2022-01-22 16:26:01 其他开发

一个连接中有多少个元组?

有些人说有一个连接中有 4 个元组 客户端IP地址、客户端端口号、服务器IP地址、服务器端口号 有的说有5个 客户端IP地址、客户端端口号、服务器IP地址、服务器端口号、协议 哪个是正确的? 解决方案 你误解了术语.TCP 连接由 5 元组标识.这意味着 一个 元组,有 5 个元素.这五个要素是: 协议.这通常被省略,因为我们理解的是我们谈论的是 TCP,它留 ..
发布时间:2022-01-20 00:07:02 其他开发

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

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

套接字如何在 C 中工作?

我对 C 中的套接字编程有点困惑. 您创建一个套接字,将它绑定到一个接口和一个 IP 地址并让它监听.我在上面找到了一些网络资源,并且理解得很好.特别是我发现了一篇文章网络在 Unix 系统下编程非常有用. 让我困惑的是数据到达套接字的时间. 您如何知道数据包何时到达以及数据包有多大,您是否必须自己完成所有繁重的工作? 我在这里的基本假设是数据包可以是可变长度的,所以一旦二 ..
发布时间:2022-01-19 16:44:13 其他开发

使用 PACKET_MMAP 和 PACKET_TX_RING 发送数据比“正常"要慢.(没有)

我正在用 C 语言编写一个流量生成器,使用 PACKET_MMAP 套接字选项来创建一个环形缓冲区以通过原始套接字发送数据.环形缓冲区充满了要发送的以太网帧,并调用 sendto.环形缓冲区的全部内容通过套接字发送,这应该比在内存中拥有缓冲区并为缓冲区中需要发送的每一帧重复调用 sendto 提供更高的性能. 当不使用 PACKET_MMAP 时,在调用 sendto 时,单个帧会从用户级内 ..

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中的客户端套接字程序中知道客户端端口和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 其他开发