Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
侦听c#中的端口(不是TCP端口)_C#_Sockets_Voip_Sip - Fatal编程技术网

侦听c#中的端口(不是TCP端口)

侦听c#中的端口(不是TCP端口),c#,sockets,voip,sip,C#,Sockets,Voip,Sip,我的情况:我有一个用于voip的xspeech,当有关于电话的操作时,消息(数据包)被发送到xspeech接口。从这个接口,这些操作的日志被发送到特定的IP地址,也就是我的IP地址。这些日志也是从特定端口发送的 我正在尝试开发一个读取这些日志(而不是文件)的应用程序。我试过TCPListener和TCPClient,它们在我的情况下有效,但不起作用。我认为这些日志不是从TCP端口发送的。这就是问题所在 如果您在您的IP地址接收到上的信息,那么我也会认为正在使用TCP/IP。您是否检查过防火墙没有

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


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

如果您在您的IP地址接收到上的信息,那么我也会认为正在使用TCP/IP。您是否检查过防火墙没有阻塞相关端口。
我建议您再看一看正在使用的协议(可能是UDP),然后使用
Socket
类。

SIP默认使用UDP

它不像能够从一个端点获取数据包,记录它们,然后将它们发送到真正的目的地那么简单。如果你这样做,你会破坏NAT处理之类的事情

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


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

从您的帖子中,我怀疑它使用的是UDP。。。这意味着您需要使用类来接收和处理

根据他们是否提供TAPI提供商,您可以使用:

可能需要构建SIP代理(这将能够生成例如“拾取事件”):

编辑-根据评论其他可能性:

如果您试图捕获的内容作为syslog消息发送,请参阅


另一种可能是SNMP—为此,请参见

,您可能在数据报(UDP)而不是流(TCP)中接收SIP消息。。。试试看。请详细说明。。。哪个港口?任何指向协议规范或描述的链接?它假定日志被发送到特定IP地址和特定端口。我与xspeech处于同一网络中。我已经为服务器地址提供了我的ip地址,我正在使用端口514。感谢您的回复。当我从我编写的客户端发送消息时,TCPListener会捕获它。但同一个TCPListener抓不到日志。我从同一个端口发送消息。谢谢你的回复。我要试试这个。我可能误解了你的意思。
xspeech
是否有专用的日志记录接口?如果是这样的话,它不是SIP,但可能是针对
syslog
服务器的消息。是的,有一个日志接口。在其文档中,接口中的信息通过SIP填写。当我拿起电话时,它在界面上写着“拿起”。当我拨号时,会显示我所拨打的号码,以此类推,并假定它会将日志从特定端口发送到我的IP地址。我试图上传屏幕截图,但因为我是新手,所以无法上传。拾取不是一个可以通过sip生成的事件(我认为状态订阅也不会有离线事件)。日志接口可能独立于SIP。您可以在命令窗口中使用
netstat-b-a
查看计算机上的所有连接(如果您正在计算机上运行管理界面)。但是,我会尝试寻找日志规范,而不是尝试对协议进行反向工程。首先,感谢您的回复。我尝试使用UDPClient类获取数据包,现在看起来还不错。从长远来看,我试图找到一个日志规范。谢谢你的回复。我要试试这个。@user1039290它也可以是syslog或SNMP。。。我也为这些添加了一些链接……是的,它成功了,我编写了一个udp侦听器类,它捕获了所有消息,非常感谢。@user1039290很高兴能提供帮助:-)