在c#中监听端口(不是TCP端口)

问题描述 投票:0回答:3

我的情况:我有一个用于VoIP的xspeech,当有关于电话的操作时,消息(数据包)被发送到xspeech接口。从这个接口,这些操作的日志被发送到特定的IP地址,也就是我的IP地址。而且这些日志是从特定端口发送的。

我正在尝试开发一个读取这些日志(而不是文件)的应用程序。我尝试了 TCPListener 和 TCPClient,它们有效,但不适合我的情况。我认为这些日志不是从 TCP 端口发送的。这就是问题所在。

c# sockets voip sip
3个回答

1
投票

SIP 默认使用 UDP。

这并不像从一个端点获取数据包、记录它们然后将它们发送到真正的目的地那么简单。如果这样做,您将破坏 NAT 处理等功能。

您需要充当完整的 SIP 代理(有状态)或 B2BUA。

更简单的方法是下载现有的 sip 代理,然后将其记录到文件并读取该文件。


0
投票

如果您在您的 IP 地址上收到信息,那么我也会认为正在使用 TCP/IP。您是否检查过您的防火墙没有阻止有问题的端口。 我建议您再看看正在使用的协议(可能是 UDP)并使用

Socket
类。

© www.soinside.com 2019 - 2024. All rights reserved.