小弟不懂这方面的,所以请大家解惑下!
 开发语音交换机,
  一个用户连接进来,是否就应该保持住该SOCKET,并专门开1个处理线程,处理该SOCKET的收发?
 那么如果用户连接时间很长,比如坐席系统,那服务器吃的住不?
 

解决方案 »

  1.   

    SOCKET 服务端 只管  收 数据, 放到 buffer 里面, 至于 数据的解析,可以 线程 来作, 用户信息标识,放在 数据里面 以一定的协议 传送
      

  2.   

    概念不对。应该用rtp/rtcp协议收发数据,数据以UDP方式传送。既然是交换机就说明只是个语音数据的中转站,最多加上编码方式转换功能,显然不可以一个用户一个线程,而应该维护一个消息队列,或者是一个链表,只要把在线的客户端信息保存在一个线形表里既可,而收到数据时要根据不同的用户中转到不同的目的地址。一般需要SIP协议控制。
      

  3.   

    如果项目不大,基于SOCKET自定义协议也是可以的。