请教一个关于网络编程的问题,语言用的Python 不过问题应该和语言无关

为当前最终发行版之前的所有版本提供支持
回复
头像
maple_
帖子: 271
注册时间: 2011-03-24 8:05
送出感谢: 0
接收感谢: 1 次

请教一个关于网络编程的问题,语言用的Python 不过问题应该和语言无关

#1

帖子 maple_ » 2013-01-30 12:13

我在编写一个C/S结构的程序
客户端是多线程的,每个线程都可能会在什么时候发一个请求,但是服务器对一个用户只建立一个连接。客户端的所有请求都得从一个socket里传输和接受
这就有一个问题,在发送到接收,这一段时间里,如果其他线程也调用发送,会不会造成混乱?(就是收到的数据不知道是响应哪个请求的)

如果是上面的情况,我想了一个解决的方法,不过不知道通用的办法是不是这样,方法如下:
每个线程在需要发送请求的时候就直接发送,发送的数据中包含一段标志,服务器对这段标志不进行任何处理,直接返回。
再独立开一个线程,这个线程出在一个无限循环里,负责接受数据,并识别标志,每收到一段数据,就进行标志识别并新建一个线程处理这个数据。

不过对上述的线程管理感觉有点复杂,请问有没有什么通用的办法来处理单个socket处理多线程请求的方案的?或者我这个方案有什么需要改进的?。。。 :em06
头像
枫叶饭团
论坛版主
帖子: 14685
注册时间: 2010-06-16 1:05
系统: Mac OS X
来自: Tencent
送出感谢: 1 次
接收感谢: 132 次
联系:

Re: 请教一个关于网络编程的问题,语言用的Python 不过问题应该和语言无关

#2

帖子 枫叶饭团 » 2013-01-30 12:41

用库? :em06
头像
maple_
帖子: 271
注册时间: 2011-03-24 8:05
送出感谢: 0
接收感谢: 1 次

Re: 请教一个关于网络编程的问题,语言用的Python 不过问题应该和语言无关

#3

帖子 maple_ » 2013-01-30 12:50

枫叶饭团 写了:用库? :em06
用什么库呢?。。我写的是一个类似网盘的东西。。用fs库来在本地建立一个映射。。用dokan或者fuse挂载上去。。
头像
maple_
帖子: 271
注册时间: 2011-03-24 8:05
送出感谢: 0
接收感谢: 1 次

Re: 请教一个关于网络编程的问题,语言用的Python 不过问题应该和语言无关

#4

帖子 maple_ » 2013-01-30 17:43

求助啊。。。
回复

回到 “老旧版本支持”