问题标签 [udpclient]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 使用 UDP 的应用程序之间的双向通信
我已经使用 TCP/IP 完成了这项工作。我现在正在尝试使用 UDP 来做到这一点。这些应用程序都在同一台主机上运行。所以客户端/服务器都在 127.0.0.1:5000 上发送/接收。问题是他们正在接收用于其他应用程序的消息。
c# - 我如何知道 UdpClient 是否已关闭/处置?
我通过通常的异步回调从 UdpClient 接收数据:
当我Close()
在主线程中使用 UdpClient 时,回调会按我的预期触发,但此时_udpReceive
已经处理完毕,ObjectDisposedException
当我尝试调用EndReceive()
. 我期待得到一个空缓冲区。
处理这个问题的正确方法是什么?UdpClient
在尝试使用它之前,我是否可以检查一些成员,或者这是将其全部包装在 a 中try{}
并捕获的唯一方法ObjectDisposedException
?对于正常的收盘来说,这似乎很讨厌。
c# - C# UDP 比 TCP 慢
我正在尝试将来自 Xbox Kinect 的视频源从客户端流式传输到服务器。我让它与 TCP 一起工作,但我只能得到大约 5 fps,所以现在我正在尝试使用 UDP。由于协议的工作方式,UDP 应该更快,但它似乎更慢。这是我关于 TCP 的帖子(http://stackoverflow.com/questions/9627242/c-sharp-streaming-video-over-networkstream-tcpclient)
我可以通过 LAN 发送我想要的所有数据,但是如果我将它们推出得太快,我就会开始丢失很多数据包。这就是我使用 Thread.Sleep(20); 的原因。增加卡盘大小会大大加快速度,但我已经达到了通过 LAN 发送的最大值,如果我理解正确,通过 Internet 发送的最大块大小约为 1500 字节。如果我一次只发送 1500 个字节,这会非常慢。我一定做错了什么。
这是代码。
c#-4.0 - 如何通过互联网使用 C# 中的 UDPCLient 类广播视频?
我正在尝试开发一个视频客户端/功能,它使用网络摄像头捕获视频并传输到互联网上某个地方的其他服务端(服务器客户端)。我正在使用 UDPCLient 类来做到这一点。
我希望我的应用程序能够收听和 tarnsmit 从网络摄像头捕获的视频。当我在本地网络上执行此操作时,捕获、传输和接收工作正常。
但是,当我在转发各自的端口后从路由器后面(跨两个不同的网络/互联网)测试应用程序时,两个路由器上的互联网连接都丢失了(它们挂断了),我需要重新启动路由器或切换到备用连接. 配置如下:
Servent 1 <--> Router1 <--> Internet 连接#01
Servent 02 <---> Router2 <---> Internet Connection#02
两个连接都在单独的 DSL 线路上。其中一台路由器是中兴品牌,另一台是网件。
监听/传输代码如下:
接收响应的代码如下:
如果我在本地网络上测试,我使用 DNSHostname 来获取 IP 地址(私有 IP 地址)并且视频在本地网络上工作正常。这在互联网上不起作用,所以我切换到实时 IP 地址,因此我使用 getPublicIpAddress() 的方法。
- 我知道我的方法有严重问题吗?什么是正确的方法?
- 我应该切换到 TCP 侦听器吗?我打算将来有多个相同视频的接收器。那么会不会有影响?
UDP 客户端会导致路由器崩溃、挂断和重启吗?我怎样才能避免这种情况?
最后,如果要避免端口转发,最好的策略是什么?
请帮忙。
谢谢
史蒂夫
c# - 丢失 udp 数据包,可以,但不是这样?
我最初试图编写一个小型控制台应用程序来在本地发送 UDP 数据包,所以我可以测试我的“接收器”应用程序。在 Stack Overflow 上搜索,我设法得到了一些有用的东西。但它只是有时有效。我知道 UDP 是不可靠的,但在这种情况下,它要么完全工作,要么根本不工作。
我试图将代码减少到绝对最小值。如果您将这两个代码块复制到main
两个不同的控制台应用程序中并将它们一起运行(在 VS 之外),我很想知道:
- 它对你有用:永远,永远,或一直
- 如果您发现任何差异取决于您首先启动/停止的哪个
- 你知道出了什么问题
如果我让 Sender 运行,并停止/启动 Receiver 十几次,它就会进入一个不会收到任何东西的状态。如果你继续尝试,它会再次开始工作,然后停止,然后开始......
UDP接收器
发送者
c# - UDP 客户端错误 - 无法发送数据字节
我正在写一个 C# P2P 视频聊天(我的教师考试的一部分),我有点卡在通过 udp 发送数据。所以这里是如何工作的。我有一个 Web_Capture 库,每次捕获图像时,它都会将 PictureBox 图像设置为捕获的图像
然后 sendData 方法开始发送...
当我调试时,会弹出套接字异常:
那么,有没有人有任何想法,如果他用代码支持这个想法,我将不胜感激,因为我是 c# 的新手 :) 提前致谢。马里安
c - 如何在c中设置UDP套接字中的源端口?
谁能告诉我如何在 UDP 套接字中设置源端口地址?我的客户端应用程序需要将数据包从 57002 端口发送到服务器端口 58007 。
c# - UDP 套接字的问题
我对 udp 套接字有一个奇怪的问题。首先,让我为您提供代码:
服务器端:
客户端:
问题是:当我第一次从服务器发送到客户端时,一切正常,但是当我第二次(等等)发送时 - 客户端什么也没收到。该问题的原因可能是什么,我该如何解决?
非常感谢。
winsock - .NET UdpClient 和 Winsock 互操作性问题
我有一个用 C++ 编写的应用程序,它使用 Winsock 作为 UDP 客户端。我正在尝试将数据发送到另一个用 C++/CLI 编写的 UDP 客户端,该客户端使用 .Net UdpClient 类。消息已成功发送,但从未收到。也就是说,永远不要从listener中出来->Receive(endPoint); 在.NET 端调用。
我把C++/CLI代码中的.Net UDPClient代码换成了Winsock,没有问题。
两台机器都运行 Windows 7(因此,.NET 4,以及 Windows 7 下的任何版本的 WSA)
这是 C++ Winsock 代码:
这是 .NET 方面: