您现在的位置: 爱51代码网 >> 范文 >> 文章正文
C#中tcp连接能不能去掉这个“try”

C#中tcp连接能不能去掉这个“try”

以前做了一个基于udp的高频率传输数据的服务器,但最近要新增一个基于互联网的tcp服务,连接传输倒没问题,但我担心数据频率高会影响效率。我现在在服务器端的数据传输是这样的

C# code?for (int i = 0; i < TcpList.Count; i++)             {                 try                {                     TcpList[i].Send(Encoding.UTF8.GetBytes("data..."));                 }                 catch                {                     TcpList.RemoveAt(i);                 }             }


如果我不加上try的话,有的时候客户端那边退出了程序,服务器端就会报错了。所以我不得不加了一个try。但是当客户端多的时候,并且传输数据频率高的情况下,这里本身就是一个for循环,每次还得进行一次try(我在书上看到说try很影响效率),怕影响整体的传输效率。
如果tcp这里使用异步send会更好吗?
不知道怎么样处理会更好,哪位高手愿意指点一下,十分感谢!!!

按照MSDN的说法“Bear in mind that this has nothing to do with try/catch blocks: you only incur the cost when the actual exception is thrown. You can use as many try/catch blocks as you want. ”

你无需过于担心try/catch 不用去掉try catch。因为在重要的地方使用它会比不使用得到的更多。
知识你的catch可以进行调整一下,表面上看不带参数的 catch 子句捕捉任何类型的异常,实际上这是掩耳盗铃。既然你使用了catch就说明你有可以预见的几种不受控制的情况发生。
为了保险,自然每种情况应对不用的处理。

  • 上一篇文章:

  • 下一篇文章: 没有了
  • 最新文章 热点文章 相关文章
    lotus数据列表文档个数如何实时统
    lotus代理中LS如何将字符串保存到
    在lotus BS系统里怎样方便实现统
    undefined reference timer_crea
    linux文件/usr/lib破坏了,还原后
    linux上运行system函数时,print
    Failed to open eth0
    android手机无法与eclipse或电脑
    C/C++洗牌算法源代码
    servlet技术实现用户名唯一的验证
    undefined reference timer_crea
    Failed to open eth0
    ZOJ 3700 Ever Dream 文章中单词
    TortoiseGit和msysGit安装及使用
    sharepoint 2010 获取用户信息Us
    mysql主从同步延迟方案解决的学习
    生日旅行总结
    中小板生日快乐随感
    送生日快乐桑葚乳酪小蛋糕
    写给女儿的生日快乐
    System.UnauthorizedAccessE
    DataGridView更新数据,关于D
    对Rectangle旋转了下,但是它
    C# GetCustomAttributes怎么
    asp.net 客户端如何加密
    asp.net两个单击事件如何互相
    server.mappath如何取得服务
    在js中动态添加表格行时,怎
    asp动态网站滚动字 如何链接
    Could not load file or ass
     



    设为首页 | 加入收藏 | 网站地图 | 友情链接 |