sockets相关内容

通过 Socket 发送和接收数组

是否可以使用 Python 通过 UDP 套接字发送数组?我正在使用 Python 2.5 并尝试发送一个简单的数组,但它不起作用.它可以成功发送数组,但是当我尝试用数组的一个项目打印它时,程序崩溃了.我不确定错误是什么,因为我采取了将数据转换为数组的预防措施,但它不起作用.希望我尽可能清楚地解释了这个问题.我将不胜感激! # 客户端程序从套接字导入 *导入 numpy从数组导入*# 设置套接字 ..
发布时间:2022-01-22 16:46:31 Python

需要简单的 UDP 套接字教程

找了半天,还没找到适合新手的UDP sockets编程教程.我知道 UDPClient 编程,但是由于 UDPClient 无法在没有阻塞的情况下接收消息并且没有跨线程命令的问题,所以我转向了套接字.我什至不知道我想要做的事情是否可行,所以请尽你所能提供帮助.非常感谢. 解决方案 试试这些: 套接字代码示例 使用 C# 和 .NET 测试 TCP 和 UDP 套接字服务器 简单的 ..
发布时间:2022-01-22 16:46:09 C#/.NET

UDP 打孔.让服务器与客户端对话

我阅读了很多关于如何实现 UDP 打孔的文章,但由于某种原因我无法使其工作. 对于不熟悉 udp 打孔的人,这里是我自己的定义: 目标是能够在两个客户端(客户端 A和客户端 B) 在服务器的帮助下.所以客户端 A 连接到服务器并发送它的信息.客户 B 也是如此.服务器具有必要的信息,以便客户端 A 能够向客户端 B 发送数据,反之亦然.因此,服务器将该信息提供给两个客户端.一旦两个客户 ..
发布时间:2022-01-22 16:45:50 C#/.NET

C# UDP Socket:获取接收者地址

我有一个异步 UDP 服务器类,其套接字绑定在 IPAddress.Any 上,我想知道接收到的数据包发送到哪个 IPAddress(...或在哪个 IPAddress 上接收).看来我不能只使用 Socket.LocalEndPoint 属性,因为它总是返回 0.0.0.0 (这是有道理的,因为它绑定到那个......). 以下是我目前正在使用的代码中有趣的部分: private Soc ..
发布时间:2022-01-22 16:45:39 C#/.NET

如何在 iOS 中快速使用 UDP 套接字?

我正在尝试连接到本地 esp8266 UDP 服务器.SwiftSocket 没有文档.CocoaAsyncSocket 不起作用.如何连接并发送数据到 udp 服务器?我该怎么办? 我编写了示例 UDP python 服务器并尝试通过 SwiftSocket 和 CocoaAsyncSocket 连接到它们.我没有从应用程序中获得反馈.服务器不接收连接.例如 - 最多的尝试之一: va ..
发布时间:2022-01-22 16:45:16 移动开发

在 .NET 中指定 UDP 多播应该转到的网络接口

在具有活动无线网卡和 LAN 端口的计算机上,通过交叉电缆连接到运行相同应用程序的另一台计算机,我们需要通过 LAN 线向另一台计算机发送 UDP 多播.使用 C# 套接字,Windows 似乎每次都尝试通过 WLAN 适配器路由消息. 有没有办法指定在哪个网络接口上发送 UDP 多播? 解决方案 您可能正在寻找 SocketOptionName.MulticastInterface ..
发布时间:2022-01-22 16:44:49 C#/.NET

如何获取重定向UDP消息的原始目标端口?

使用这个东西我可以获得原版socket(PF_INET, SOCK_DGRAM, 0) socket的目的IP地址. 如何获取原始目的端口? 解决方案 取决于重定向机制.如果您使用的是 REDIRECT(引擎盖下的 NAT),那么您需要在应用 NAT 之前使用 SO_ORIGINAL_DST 或 libnetfilter_conntrack 来查询连接的原始目标.但是,由于您可以使用 ..
发布时间:2022-01-22 16:44:34 服务器开发

UDP打孔算法

谁能举一个UDP打孔的例子? 其实我想写一个聊天程序,大家知道对方IP的时候就可以聊天了.但是这两台机器都将位于防火墙路由器后面.所以,我需要打个洞才能沟通. 我想要一个这样的函数,在调用该函数时,会打出一个洞,未来的通信会很容易进行——如果这不是太多要求的话:) 解决方案 简短的回答:不能可靠地完成. 长答案: “打孔"是指触发路由器的自动 NAT 规则以允许入站 ..
发布时间:2022-01-22 16:43:54 其他开发

关于 UDP 编程我应该知道什么?

我不是指如何连接到套接字.关于 UDP 编程我应该知道什么? 我需要担心我的套接字中的错误数据吗? 我应该假设如果我发送 200 字节,我可能会分别得到 120 和 60 字节? 我应该担心另一个连接在同一端口上向我发送错误数据吗? 如果数据通常没有到达,我可能(通常)在多长时间内看不到数据(250 毫秒?1 秒?1.75 秒?) 我真正需要知道什么? 解决方案 "我 ..
发布时间:2022-01-22 16:43:41 C/C++开发

使用和UDP套接字发送时如何设置源地址

我有两台电脑使用 VRRP 进行冗余.因此,每台 PC (Linux) 都有一个物理 IP 地址和一个虚拟 IP 地址. 我有一个带有 UDP 协议的客户端/服务器架构的软件 (C++).软件将监听套接字绑定在“0.0.0.0"上,每次需要向对方发送一些数据时使用一个新的套接字.使用wireshark,我看到当它发送数据时,源IP是物理IP...如何将发送套接字的源地址设置为虚拟的?? ..
发布时间:2022-01-22 16:40:27 服务器开发

如何解决:使用 Sendto() 发送 UDP 数据包得到“消息太长";

我想使用 sendto() API 通过 UDP 数据包发送视频和音频数据.我使用getsockopt()得到的发送缓冲区大小是114688,但是当数据包小于65536而不是114688时,sendto()返回-1.错误信息是Message too long. 当我使用setsockopt()将发送缓冲区大小调整为200000时,我使用getsockopt()发现发送缓冲区大小不是20000 ..
发布时间:2022-01-22 16:40:16 其他开发

如何设置底层 Socket UDP 的缓冲区大小?C#

众所周知,对于 UDP 接收,我们使用 Socket.ReceiveFrom 或 UdpClient.receive Socket.ReceiveFrom 接受您的字节数组以放入 udp 数据. UdpClient.receive 直接返回数据所在的字节数组 我的问题是如何设置 Socket 内部的缓冲区大小.我认为操作系统维护自己的缓冲区来接收 UDP 数据,对吧?例如,如果一 ..
发布时间:2022-01-22 16:38:55 C#/.NET

在同一台机器上通过 UDP 套接字发送数据可靠吗?

如果我使用 UDP 套接字进行进程间通信,我可以期望其他进程以相同的顺序接收所有发送数据吗? 我知道这对于一般的 UDP 来说是不正确的. 解决方案 没有.我以前被这个咬过.您可能想知道它是如何失败的,但您会遇到待处理数据包的缓冲区已填满的问题,因此数据包将被丢弃.网络子系统如何丢弃数据包取决于实现,没有在任何地方指定. ..
发布时间:2022-01-22 16:38:49 其他开发

在 Python 中接收广播数据包

我有以下代码发送一个在子网中广播的 udp 数据包. 从套接字导入 *s=socket(AF_INET, SOCK_DGRAM)s.setsockopt(SOL_SOCKET, SO_BROADCAST, 1)s.sendto('这是测试',('255.255.255.255',12345)) 以下代码用于接收广播包. 从套接字导入 *s=socket(AF_INET, SOCK_DGRAM ..
发布时间:2022-01-22 16:37:03 Python

通过 recvfrom (UDP) 接收部分数据包

我正在尝试通过 recvfrom 接收数据包的一部分.它实际上是这样工作的: recvfrom(sockfd, serialised_meta, 12, flags, src_addr, addrlen);recvfrom(sockfd,serialised_buf,BUFLEN,标志,src_addr,addrlen); 数据是这样发送的: bufd->Serialise(seriali ..
发布时间:2022-01-22 16:34:29 服务器开发

c#中的UDP数据包捕获

Wireshark 使用以下详细信息在我的 LAN 中捕获 UDP 数据包 源IP 192.168.1.2目标 IP 233.x.x.x源端口 24098目的端口 12074,12330 如何在 c# 中捕获它? 解决方案 自己解决了 这是我的工作代码 CAA 类{private Socket UDPSocket = new Socket(AddressFamily.Inter ..
发布时间:2022-01-22 16:34:08 C#/.NET

Linux:将 UDP 监听套接字绑定到特定接口(或找出数据报来自的接口)?

我正在开发一个守护进程,它侦听 UDP 广播数据包并通过 UDP 进行响应.当数据包进来时,我想知道数据包来自哪个 IP 地址(或 NIC)TO,以便我可以将该 IP 地址作为源进行响应.(由于涉及很多痛苦的原因,我们系统的一些用户想要将同一台机器上的两个 NIC 连接到同一个子网.我们告诉他们不要,但他们坚持.我不需要提醒这有多丑陋.) 似乎没有办法检查数据报并直接找出它的目标地址或它进入 ..
发布时间:2022-01-22 16:33:38 服务器开发

在UDP Socket java android上发送和接收数据

我能够通过 UDP 套接字正确发送我的数据,但是当我收到数据时,它一直在等待接收命令,我不知道是什么原因造成的.请看下面我的代码. 我能够在服务器端从 android 设备正确接收数据,但是当我将数据从服务器端发送到 android 设备时,它没有接收到.但是当我将数据从服务器发送到任何其他客户端(例如 PC 应用程序)时,它会正确接收并显示数据. class Task 实现 Runnab ..
发布时间:2022-01-22 16:33:31 Java开发

阻塞套接字:确切地说,“send()"何时执行?返回?

确切地说,BSD 套接字 send() 函数何时返回调用者? 在非阻塞模式,它应该立即返回,对吗? 至于阻塞模式,man页面说: 当消息不适合套接字的发送缓冲区时,send() 通常会阻塞,除非套接字已被置于非阻塞 I/O 模式. 问题: 这是否意味着如果内核发送缓冲区中有空间,send() 调用总是会立即返回? send() 调用的行为和性能对于 TCP 和 UD ..
发布时间:2022-01-22 16:33:05 其他开发

当 tcp/udp 服务器的发布速度快于客户端的消耗速度时会发生什么?

我试图了解当服务器发布(通过 tcp、udp 等)的速度快于客户端使用数据时会发生什么. 在一个程序中,我知道如果一个队列位于生产者和消费者之间,它会开始变大.如果没有队列,那么生产者根本无法生产任何新东西,直到消费者可以消费(我知道可能会有更多变化). 我不清楚当数据离开服务器(可能是不同的进程、机器或数据中心)并发送到客户端时会发生什么.如果客户端根本无法足够快地响应传入的数据,假 ..
发布时间:2022-01-22 16:30:55 其他开发