【发布时间】:2012-07-03 22:35:54
【问题描述】:
我编写了一个 C# 代码来监听端口(使用 TCP 监听器)并将数据写入数据库(SQL 服务器)。我目前的方法涉及以下内容:
- 当新设备条目到达时创建一个线程。
- 从流中读取数据并写入 DB。
这一切正常,直到 4-5 个设备将数据发送到端口。一旦超过这个值,完整的方法就会失败。
只是想知道是否有任何替代方案。 我认为一种方法是让一组线程写入队列,另一组线程(限制为 3-4)从队列中读取并写入数据库。
【问题讨论】:
-
你能显示你设置监听的套接字的代码吗?
-
您的方法是正确使用 Que 正确的 Lister 将其保存在 db 上,我在我的项目上也做了同样的工作。
-
数据库写入需要多长时间?客户端连接多长时间?
-
哪个失败,为设备创建额外线程,还是数据库连接?
-
它无法保存到数据库部分,因为连接将受到限制
标签: c# multithreading tcplistener