这个问题实际上是这个帖子
http://topic.csdn.net/u/20081118/18/f9ef4c5d-2147-4848-8851-91978539185e.html里的模式二的后续问题,特开一贴,主要是想大家能有针对性的更好地回答我这个问题。不清楚这个模型的,我在描述一遍:
电脑1用来作为发送端,依次向14台电脑发送相同的文件,即电脑1先向第一台客户端电脑发送文件完毕,再接着向第二台电脑发送相同的文件,。。。直到14台电脑都发送完。
由于发送端始终是读取、发送同一个文件,为了避免创建多个socket,使效率比较低下,我用发送端电脑作为服务端,其他14台电脑作为客户端。让服务端电脑始终accept、fread、send循环,每一台客户端就只负责一次connect、fwrite和recv.
问题:1、我现在要同时运行14台客户端程序,由于客户端没有服务端listen和accept阻塞函数,我只要不打开服务端,一运行客户端程序,过一会就提示 无法连接。更别提能同时打开14台客户端程序。我这里应该设置怎样的机制或者函数,来实现这样的效果;
2、按照我这样的想法,是不是我就不能确定服务端是按照什么顺序给客户端发送文件的,是随机给这14台电脑依次传完文件?有没有什么方法可以控制按照我规定的顺序依次给各个电脑传送文件;
3、按照一般想法,是在服务端创建14个socket,依次connect14台电脑,我现在不确定按照我现在这个模式,是不是能在传输效率上比前面这个模型要好些?只是按照一般这样的做法,可以控制传送电脑的顺序,就是发送端的电脑程序明显要多了很多代码。
期待大侠能给予详细回答,感谢!