一个简单的C#&socket的问题,请教高手

burnyxu 2004-09-23 11:01:02
小弟刚开始接触socket,关于同步和异步,虽然概念上明白了,可是对他们各适用于哪些具体的程序还是不太懂.
比如我要做一个服务端用来接受客户端发来(一个局域网的许多客户端)的数据并处理(比如写入数据库),这个用同步和异步哪个呢?
如果我用同步,新建一个线程来接受和处理(不用主线程),这样行不行呢?
这样顺序: bind()--listen()--accept()--处理




如果一时间很多客户端发来数据,那个线程处理不过来,数据会不会丢失还是存在那个接受队列里呢?

问题比较多,但是对高手来说应该很简单,希望不吝赐教,谢谢了!
...全文
177 5 打赏 收藏 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
The123 2004-09-23
  • 打赏
  • 举报
回复
再来
http://www.microsoft.com/china/msdn/library/architecture/architecture/architecturetopic/SCArchDeGuide/Chapter6UsingMultThr.mspx
The123 2004-09-23
  • 打赏
  • 举报
回复
http://tech.ccidnet.com/pub/article/c294_a33440_p1.html
  • 打赏
  • 举报
回复
当同步时,其他请求会等待,只到现在连接中止
而当异步时,会使用treadpool来同时处理多个请求

照你的情况看应该使用后者
wangsaokui 2004-09-23
  • 打赏
  • 举报
回复
比如我要做一个服务端用来接受客户端发来(一个局域网的许多客户端)的数据并处理(比如写入数据库),这个用同步和异步哪个呢?
客户端比较多或数据量比较大的通常用异步处理,因为异步不需要等待就可以返回处理下一个信息,同步的话就只有等待上一个完成了。

如果我用同步,新建一个线程来接受和处理(不用主线程),这样行不行呢?
这样顺序: bind()--listen()--accept()--处理
可以。

如果一时间很多客户端发来数据,那个线程处理不过来,数据会不会丢失还是存在那个接受队列里呢?
看timeout的时间,如果等待大于timeout的时间就会丢失,具体多少我没有查,因为大些的我都用异步处理了。
yingshis 2004-09-23
  • 打赏
  • 举报
回复
up
内容概要:本文提出并实现了一种基于Transform-KAN混合架构的电力负荷预测模型,旨在通过融合Transformer在长序列建模中的注意力机制优势与Kolmogorov-Arnold Network(KAN)在函数逼近方面的高精度非线性拟合能力,显著提升负荷预测的准确性与鲁棒性。研究系统阐述了模型的整体结构设计、输入特征工程、训练流程及关键超参数配置,并利用真实电力系统历史数据进行多步预测实验,验证了该方法在处理非线性、非平稳负荷序列时的优越性能。重点探讨了新型神经网络结构在时间序列预测任务中的创新应用,为复杂电力系统负荷的精准预估提供了有效的技术路径。; 适合人群:具备一定编程基础和机器学习知识,从事电力系统、能源管理或时间序列预测相关研究的研发人员,尤其适合工作1-3年希望深入理解前沿预测模型的技术人员。; 使用场景及目标:①应用于电网调度、能源管理系统中对未来电力负荷的精确预测;②探索Transformer与KAN等新兴神经网络模型在实际工业场景中的融合设计与实现方法;③为学术研究提供可复现的高性能负荷预测基准方案。; 阅读建议:此资源以Python代码实现为核心,强调理论与实践相结合,建议读者在学习过程中仔细研读模型架构细节,动手运行并调试代码,结合实验结果深入理解各模块的作用与优化策略,从而全面掌握该先进预测方法的设计精髓。

111,128

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧