>>SOCKET服务端,每连上来个连接,就创建一个单独线程,并将数据插入到数据库内
量少是无所谓,写起来简单。量一多,这个思路就不好了。
估计很多人写线程,且是需要与DB交互的情况下,都习惯于生成一个Connection,然后写SQL之类再操作,这样的话,10,20个连接问题不大,一多起来,估计创建DB.Connection都会有问题。
换个思路吧:
还是一个连接一个线程,但收到数据后,交到一个或多个连接到DB的处理线程,让那些线程去与DB交互。
如果写完了,还出现系统性能问题,就要再换思路,将一个连接一个线程这个思路换掉,换成N个连接一个线程,重叠模式是适合这个工作的。
上面还不成的话,再换思路,再用IOCP,一个线程管理N个连接,连接有数据,再交给与DB交互的线程。如果还觉得该应用程序有性能问题,再分离模块,连接通讯模块,DB交互模块各自一个EXE,不过写这之前,要有一个中介,共享什么的将两个EXE的数据互通。
还有问题的话,那就。。。俺也不知道了,去请教写网游的人,或者那些常写linux通讯的强人,呵呵。