使用socket如何提高发信速度?

dongshanyu 2006-08-18 05:20:19
这两天,总算在大家的帮助下,解决了多线程的问题,先谢谢了 :)

我现在使用socket,使用多线程发信,但感觉速度方面和单线程比较没有什么明显的提高,增开线程没什么用:我开5个线程和10个线程的处理速度差不多,不知道为什么会这样,网上查资料,不是说增加线程数,会提高发送速度吗?

PS.换过邮件服务器发或同时使用多台邮件服务器同时发,均不见什么效果。
...全文
345 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
dongshanyu 2006-08-23
  • 打赏
  • 举报
回复
to 为什么会有循环?
这是因为有很多邮件地址,想在一个连接中处理掉。

to 反馈信息具体是什么?是字节长度吗?
反馈信息是从邮件服务器反馈回来的信息,我提取信息编号,根据编号知道该地址是否有效,若无效,则后面那个DATA命令就不用发送。

我不能确信邮件发送速度慢,是不是主要慢在等待服务器的反馈信息上。
jeremychen001181 2006-08-23
  • 打赏
  • 举报
回复
对楼主的需求还是比较模糊,服务器发给你的数据具体是指包含有标志码的一连串邮件地址 ?然后根据标志码有选择地发送邮件?

to: 我不能确信邮件发送速度慢,是不是主要慢在等待服务器的反馈信息上。
楼主是否可以尝试一下分别对这两个函数(收、发)加上时间测量参数评测一下他们各自花费时间多少?
jeremychen001181 2006-08-22
  • 打赏
  • 举报
回复
to:你说这样的过程是否可以用异步?
当然可以

为什么会有循环?再问一下 反馈信息具体是什么?是字节长度吗?
dongshanyu 2006-08-22
  • 打赏
  • 举报
回复
我的处理过程大致如下:
====================================
for i=0 to 100
strReply=ExeCommand(strRCPTTO, objSocket, 0) //读取服务器的反馈信息
if strReply=250 then
ExeCommand(strDATA, objSocket, 0) //读取服务器的反馈信息
end if
next
====================================
需要根据服务器的反馈信息决定是否执行下一步,你说这样的过程是否可以用异步?

VirtualDesktop 2006-08-20
  • 打赏
  • 举报
回复
这里有个封装成和 vb6 的winsock一样的socket,非常好用
http://www.codeproject.com/useritems/winsock2005.asp
jeremychen001181 2006-08-19
  • 打赏
  • 举报
回复
to: 那Socket使用异步模式会提高速度吗?

这篇文章通过比较3种模式(Threaded, Select, IO异步),介绍了如何提高socket编程性能.
http://msdn.microsoft.com/msdnmag/issues/05/08/HighPerformanceSockets/default.aspx
dongshanyu 2006-08-19
  • 打赏
  • 举报
回复
哦,我知道了。那Socket使用异步模式会提高速度吗?查了些有关与SOCKET异步编程的资料,好象有点搞.
jeremychen001181 2006-08-19
  • 打赏
  • 举报
回复
合理地应用多线程是可以提高性能的。
coolstarhty 2006-08-18
  • 打赏
  • 举报
回复
还是那句话,多线程不能提高总体工作量,只能同时处理多个任务。
不管你怎样用,CPU的处理能力总是一定的,反而在切换线程的过程中,降低任务的处理效率。
dongshanyu 2006-08-18
  • 打赏
  • 举报
回复
能说的更具体点吗?异步模式?没接触过
lxhvc 2006-08-18
  • 打赏
  • 举报
回复
提高性能需要用异步模式
迷你IIS服务器 智能端口谢寅修正窗口版 如果你是位站长想调试ASP网站程序,但是机子上没有装IIS那该怎么办啊,现在有了迷你IIS服务器就可以轻松搞定了,我以前用过很好用,大小只不到700K! 支持 JavaScript、VBScript、Perl 等脚本语言 支持 XML 和 Web Service 支持 Active Server Pages 支持 COM 和 .NET 组件 支持 SSL 3.0、TLS 内置 RSA、DES、3DES、SHA、MD5 支持通过 ADO 和 ODBC 访问几乎所有的大型数据库 支持系统硬件设备 RS232、RS485 等 支持基于 Microsoft、CISCO 和其他厂商的群集技术 兼容 Windows Script Components 并提供编译支持 支持 WAP、WML 构建 Web Service 和 Internet 应用程序   迷你IIS服务器 提供一套完整的脚本语言开发环境,提供超轻量脚本引擎和极快的 Web Server,桌面应用对象轻松开发出基于 HTML 界面整合多种媒体的 XML 桌面应用。   迷你IIS服务器 提供 Microsoft IIS 5.0 兼容的 Active Server Pages 模块,不用修改代码直接将已经存在的使用 ASP 开发的应用程序移植到 迷你IIS服务器 平台上来,也可以直接使用已经存在所有 COM 组件。通过修改一部分代码,用 迷你IIS服务器 的高性能对象大大的提高运行速度。   区别于 IIS,迷你IIS服务器 在 ASP 中加入对 .NET 对象的直接支持,并且可以编译 ASP 引擎和代码到独立执行文件中。   通过 ADO 和 ODBC,开发的应用可以访问几乎所有的大型数据库和桌面数据库。通过对XML的集成,加强了和外部应用和数据的集成能力,新加入的对 SOAP、UDDI、WSDL,方便构建出下一代 Internet 应用程序。   无论是开发简单的桌面应用,或是复杂的 Internet 应用,还是下一代的 Web Service 应用,你都可以从 迷你IIS服务器 中得到巨大的帮助! 本软件为完全免费的绿色软件,你要知道安装IIS是何等的痛苦,而我们的程序无需安装,下载解压后直接可用。 ASP组件支持情况: ■操作系统自带的组件 支持 MSWC.AdRotator 支持 MSWC.BrowserType 支持 MSWC.NextLink 支持 MSWC.Tools 支持 MSWC.Status 支持 MSWC.Counters 支持 IISSample.ContentRotator 支持 IISSample.PageCounter 支持 MSWC.PermissionChecker 支持 Microsoft.XMLHTTP (Http 组件, 常在采集系统中用到) 支持 WScript.Shell (Shell 组件, 可能涉及安全问题) 支持 Scripting.FileSystemObject (FSO 文件系统管理、文本文件读写) 支持 Adodb.Connection (ADO 数据对象) 版本:2.8 支持 Adodb.Stream (ADO 数据流对象, 常见被用在无组件上传程序中) ■ 常见文件上传和管理组件 支持 SoftArtisans.FileUp (SA-FileUp 文件上传) 支持 SoftArtisans.FileManager (SoftArtisans 文件管理) 支持 Ironsoft.UpLoad (国产免费, 上传组件) 支持 LyfUpload.UploadFile (刘云峰的文件上传组件) 支持 Persits.Upload.1 (ASPUpload 文件上传) 支持 w3.upload (Dimac 文件上传) ■ 常见邮件处理组件 支持 JMail.SmtpMail (Dimac JMail 邮件收发) 中文手册下载 支持 CDONTS.NewMail (CDONTS) 支持 CDO.Message (CDOSYS) 支持 Persits.MailSender (ASPemail 发信) 支持 SMTPsvg.Mailer (ASPmail 发信) 支持 DkQmail.Qmail (dkQmail 发信) 支持 SmtpMail.SmtpMail.1 (SmtpMail 发信) ■ 其它常见组件 支持 SoftArtisans.ImageGen (SA 的图像读写组件) 支持 W3Image.Image (Dimac 的图像读写组件) 支持 Persits.Jpeg (ASPJpeg) 支持 XY.Graphics (国产免费, 图像/图表处理) 支持 Ironsoft.DrawPic (国产免费, 图像/图形处理) 支持 Ironsoft.FlashCapture (国产免费, 多功能 FLASH 截图) 支持 dyy.zipsvr (国产免费, 呆呆文件压缩解压组件) 支持 hin2.com_iis (国产免费, 呆呆IIS管理组件) 支持 Socket.TCP (Dimac 公司的 Socket 组件)

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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