当前位置:编程学习 > C#/ASP.NET >>

服务器端套接字问题?还是模式问题?

本人现在有这样的一个需求,用户访问网页,然后服务器根据用户请求参数利用套接字去请求另外一个服务器(远程)的数据,然后组成网页(html)发给用户显示。
    其实就是类似一个数据库的功能,目前我是在服务器端公用一个静态套接字去请求,多用户同时请求的时候加锁,这样在用户数小于10的时候没什么大问题(数据量不大),响应也很快,但是偶尔会发生数据错位(也就是A得到了B的数据,B得到了A的数据,特别是重启IIS后发生几率骤增)。
    现在考虑每次请求都重新创建一个新的套接字去请求,隔离开所有的用户,但是担心多用户的时候耗费过多的资源(听说创建新连接很耗资源),于是想模仿数据库连接池,但是发现毫无思路。
   请问各位,有没有类似数据库连接池的实现代码或者文章, 还有就是 我这样的解决思路有没有问题,总感觉有地方不对劲,是不是我的这种模式有问题? --------------------编程问答--------------------
Quote: 引用 楼主 lpch1987 的回复:


    现在考虑每次请求都重新创建一个新的套接字去请求,隔离开所有的用户,但是担心多用户的时候耗费过多的资源(听说创建新连接很耗资源)quote]

其实是没多耗很多资源了,如果你的用户少于100,完全可以每个用户开自己的套接字去请求,
只是要注意一定要保证可靠的释放机制,在用户退出时关掉它。


所谓的连接池,也没什么高级的,不过是在用户退出时不关闭连接,而是把连接存放在一个LIST里,
下一个用户进来时先查LIST里有没有,有的话就拿去用,省得开新的了。
--------------------编程问答--------------------
引用 楼主 lpch1987 的回复:
本人现在有这样的一个需求,用户访问网页,然后服务器根据用户请求参数利用套接字去请求另外一个服务器(远程)的数据,然后组成网页(html)发给用户显示。
    其实就是类似一个数据库的功能,目前我是在服务器端公用一个静态套接字去请求,多用户同时请求的时候加锁,这样在用户数小于10的时候没什么大问题(数据量不大),响应也很快,但是偶尔会发生数据错位(也就是A得到了B的数据,B得到了A的数据,特别是重启IIS后发生几率骤增)。
    现在考虑每次请求都重新创建一个新的套接字去请求,隔离开所有的用户,但是担心多用户的时候耗费过多的资源(听说创建新连接很耗资源),于是想模仿数据库连接池,但是发现毫无思路。
   请问各位,有没有类似数据库连接池的实现代码或者文章, 还有就是 我这样的解决思路有没有问题,总感觉有地方不对劲,是不是我的这种模式有问题?


不是很好! --------------------编程问答-------------------- 只能说是你的锁的问题
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,