我现在有需求是
一个会议服务器,要接收几个会议客户端的音频数据
现在音频数据是用RTP进行传输的(原来用WCF双工)现在改为RTP
但有一个问题是
现在我的RTP发送是根据IP和端口的,
也就是我有多少个客户端我就要开多少个端口来用,这样管理很麻烦
所以我根据://定义网络地址,连接类型与网络协议并绑定本地IP与端口            socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);            ipPoint = new IPEndPoint(IPAddress.Parse(ipAdrr), 2012);            socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);  //SocketOptionName.ReuseAddress是关键            socket.Bind(ipPoint); 这样进行端口复用,
但问题是:
在多个客户端如何给这个Socket做标示
服务器端如何知道收到的Socket数据是哪个客户端来的
如A,B,C向服务器发送原来为
rtp:192.168.1.100:5002
rtp:192.168.1.100:5004
rtp:192.168.1.100:5006
现在要实现为
rtp:192.168.1.100:5002/A
rtp:192.168.1.100:5002/B
rtp:192.168.1.100:5002/C
谢谢
也就是用一个端口来做所有的数据接收谢谢

解决方案 »

  1.   

    代码没排好,重新发//定义网络地址,连接类型与网络协议并绑定本地IP与端口            
    socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);            
    ipPoint = new IPEndPoint(IPAddress.Parse(ipAdrr), 2012);    
    socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);  //SocketOptionName.ReuseAddress是关键            
    socket.Bind(ipPoint); 
      

  2.   

    不能通过获取发送发的IP:port来区分吗?
      

  3.   

    有没有相关的Blog的这方面的地址看看