+ -
当前位置:首页 → 问答吧 → 求救,一个关于read读socket的问题。

求救,一个关于read读socket的问题。

时间:2010-08-15

来源:互联网

最近写个socket通信,用来文件传输。服务器端多线程分别read各自不同文件,然后向建立好连接的socket里写,每个线程写的文件都有各自标记。
客户端一个线程专门用来从socket中读取信息,然后判断标记,分给对应的线程去写。

问题来了:由于不同文件大小不一样,当最小的文件传输结束,客户端会read到一个结束标记,然后就默认文件全部传输结束。其实只有最小的传完了。

弄了半天了,也没法让read忽略那个结束标记,我该怎么办呢?高手帮忙,感谢。

作者: robin254817   发布时间: 2010-08-15

顶起来,在线等解答。

作者: robin254817   发布时间: 2010-08-15

协议定义有问题,按你的处理结束标记应该区分是哪个文件的

作者: hellioncu   发布时间: 2010-08-15

回复 hellioncu


    区分了呀,知道是那个文件,关键是read读到那个最小的文件的结束以后不管我循环continue去read几次,都read都返回0。可是这时我服务器还在向socket里写呢。
   read读到一个结尾就,继续读socket的话怎么返回值还是0呢?就是死活认为socket里没内容了。

  难道我得建多个socket每个任务对应一个?没办法解决read问题么?

作者: robin254817   发布时间: 2010-08-15