+ -
当前位置:首页 → 问答吧 → 多客户机访问服务机?

多客户机访问服务机?

时间:2011-12-06

来源:互联网

客户机向服务机提出请求,服务机需要处理客户机的请求,如何为其动态开辟个线程处理?Windows下,求解、、

作者: qianming2010   发布时间: 2011-12-06

服务器accept一个连接,就创建一个线程,将相关的参数传递给线程函数。不过效率不高,有线程膨胀的问题。

作者: VisualEleven   发布时间: 2011-12-06

一个线程服务一个客户端,注意控制客户端数目。

作者: sichuanpb   发布时间: 2011-12-06

引用楼主 qianming2010 的回复:
客户机向服务机提出请求,服务机需要处理客户机的请求,如何为其动态开辟个线程处理?Windows下,求解、、


两种方法:
1:预先启动多个线程在消息队列等待,所有的客户机请求全部排队放到这个队列中。线程在返回给客户机请求结果后,再回到消息队列继续等待。
优点:效率相对较高。
缺点:实现起来比较复杂。
2:在接收到客户机请求后,启动线程去处理,把结果返回给客户端后线程退出,所有资源释放给系统。
优点:实现起来比较简单。
缺点:效率相对较低。

注:上面这个只是简单的说明,实际的情况还得实际分析处理。总得来说无论选用哪种方案,先写出一个来也不是什么坏事。

作者: HMM7E   发布时间: 2011-12-06

引用 1 楼 visualeleven 的回复:
服务器accept一个连接,就创建一个线程,将相关的参数传递给线程函数。不过效率不高,有线程膨胀的问题。

刚刚自学网络的内容,可否贴个小例子,我比较喜欢看看代码、、、C语言的额 谢谢啦

作者: qianming2010   发布时间: 2011-12-06

引用 2 楼 sichuanpb 的回复:
一个线程服务一个客户端,注意控制客户端数目。

刚刚自学网络的内容,可否贴个小例子,我比较喜欢看看代码、、、C语言的额 谢谢啦

作者: qianming2010   发布时间: 2011-12-06

引用 3 楼 hmm7e 的回复:
引用楼主 qianming2010 的回复:
客户机向服务机提出请求,服务机需要处理客户机的请求,如何为其动态开辟个线程处理?Windows下,求解、、


两种方法:
1:预先启动多个线程在消息队列等待,所有的客户机请求全部排队放到这个队列中。线程在返回给客户机请求结果后,再回到消息队列继续等待。
优点:效率相对较高。
缺点:实现起来比较复杂。
2:在接收到客户机请求后,启动线程……


这个思路我是懂得,问题是具体的实现我想看看您的例子、、、因为要用到简易的网络编程,实现客户机请求服务机的文件传输服务,求具体实现,C简易代码就好、、、具体就是那几个网络编程的函数实现我看看 、、、谢啦!

作者: qianming2010   发布时间: 2011-12-06

服务器一般是有个队列存数据,来了数据就往队列里丢,有专门的线程处理队列数据的

作者: xiaoguailong3   发布时间: 2011-12-06

引用 7 楼 xiaoguailong3 的回复:
服务器一般是有个队列存数据,来了数据就往队列里丢,有专门的线程处理队列数据的

我稍微描述下我的问题,就是我有多个客户机,需要向主机请求文件传输服务,所传输的文件是根据客户机提供的文件提供相应文件,我没接触过网络,所以我不知道该具体怎么搞。我是想,客户机提供一个文件名后,主机就以跟文件名建立个线程,然后进行相应的传输的服务,这个有具体实现的简易代码参考么?谢啦

作者: qianming2010   发布时间: 2011-12-06