【问题标题】:Best way of dealing with socket reading and writing to database using c#使用 c# 处理套接字读取和写入数据库的最佳方法
【发布时间】:2012-07-03 22:35:54
【问题描述】:

我编写了一个 C# 代码来监听端口(使用 TCP 监听器)并将数据写入数据库(SQL 服务器)。我目前的方法涉及以下内容:

  • 当新设备条目到达时创建一个线程。
  • 从流中读取数据并写入 DB。

这一切正常,直到 4-5 个设备将数据发送到端口。一旦超过这个值,完整的方法就会失败。

只是想知道是否有任何替代方案。 我认为一种方法是让一组线程写入队列,另一组线程(限制为 3-4)从队列中读取并写入数据库。

【问题讨论】:

  • 你能显示你设置监听的套接字的代码吗?
  • 您的方法是正确使用 Que 正确的 Lister 将其保存在 db 上,我在我的项目上也做了同样的工作。
  • 数据库写入需要多长时间?客户端连接多长时间?
  • 哪个失败,为设备创建额外线程,还是数据库连接?
  • 它无法保存到数据库部分,因为连接将受到限制

标签: c# multithreading tcplistener


【解决方案1】:

我建议使用阻塞集合,您可以让多个线程添加数据和多个线程读取该数据。因为它阻塞线程在等待新数据时将非常有效。

详情见http://msdn.microsoft.com/en-us/library/dd267312.aspx

【讨论】:

    猜你喜欢
    • 2019-04-17
    • 1970-01-01
    • 2017-07-22
    • 2013-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-17
    相关资源
    最近更新 更多