gja106,你好。观点“每一个数据流用一个线程来实现”,我也是这个观点。但核心问题是:任何解决“数据流”的并发。你能不能多提一点看法?

解决方案 »

  1.   

    如果用线程实现一个socket中多数据流的话
    那么数据流的并发就应该是线程的并发
    应该考虑线程 而不是数据流
      

  2.   

    一个socket多个流,应该要同步吧?
      

  3.   

    如果是要并发的话,应该每个数据流对应一个socket
    socket的数据流是没有边界的
      

  4.   

    大家好! 数据流肯定是并发的, 否定“同步”这个观点; 大家应该注意, 条件是只可以建立一个Socket通讯(n个数据流而n个Socket通讯, 不是咱们讨论的主题)。  谢谢你,satanmonkey(撒旦) ,你让我在“同步”思想上想到一个方案: 给所有的数据流的数据包加上编号(即报头), 根据包生成的先后顺序传送, 接收方再跟据数据包的编号重新组合成各个数据流(表面是数据流是并发, 实际是数据包的同步)。 希望大家不要把思维焦点放在一个死胡同里, 应该多角度考虑, 积极发挥逆向思维;希望大家积极参与讨论研究!
      

  5.   

    你这是把tcp的协议用自己定义的协议代替了
    重新实现一遍,效率肯定比用多个socket低,
    不过如果真的是要自己实现的话,看tcp的协议吧
      

  6.   

    数据拆包发送,打上虚拟流的id号,接收方在组包,重用一条tcp连接。