摘要:socket通信在windows 中是排队的形式由操作系统处理,而且接收方和发送方相互协同工作,否则就会造成数据丢失。因此,不能用类似于for 语句的循环来实现对多组数据的发送,更不能用循环语句来接收数据。比如,你可以用for 语句来实型若干文件的复制,这很普遍也很正常,但在 socket编程以及大多数网络应用编程中都是行不通的,因为网络通信的基本方式是请求和应答。另外,和所有的通信编程一样,so......
摘要:在win9x下,如果安装了拨号网络,则在windows的系统目录(system目录)下将有两个拨号网络管理程序库rasapi32.dll 和rasapi16.dll,因此我们可以利用ras(远程访问服务)系列函数实现断开指定的拨号连接。在这里我们将使用rashangup函数。然而如何正确使用这些api函数是完成应用程序的关键。
挂断拨号连接的rasapi32函数为rashangup,其函数原型......
Email 服务器的简单实现 我们知道从delphi 3 开始,它自带的控件中有基于internet开发的控件.如果我们充分利用这些控件开发internet程序则可以简化编程工作,提高效率.鉴于目前pop3客户端的软件的种类繁多,(如outlook express,foxmail 以及web 方式下的各免费邮局),而服务器端(除unix email系统)很少公开原代码,下面我就向大家着重介绍一下利用 delphi 4中internet控件组的tclientsocket 与tserversocket 控件来实现 email pop3服务器端.如果您理解了email pop3服务器的构造,相信也可以依葫芦画瓢写出email smtp服务器程序.在此基础上加入多线程技术使服务器能同时处理多个客户的连接请求,您就可以轻松地实现一个简单的email服务器了.
【程序编程相关:
在Delphi中实现对目录拷贝、删除和搬】 【推荐阅读:
判断MS SQL Server是否启动】
一. 设计思路 【扩展信息:
轻轻松松在DELPHI3.0中实现三态按】
email 系统采用c/s 结构.当用户想发送邮件时或收取邮件时在客户机上运行任意一个客户端程序,如foxmail.在菜单’工具->选项’的邮件服务器里填上运行我们服务器程序的主机名.服务器主机24小时一直运行我们的服务器端程序,smtp与pop3服务器程序分别在25端口与110端口侦听连接请求.当用户发信时,首先客户端会与服务器端建立socket连接.然后开始一应一答的client/server间的通信.发信与收信时建立连接后服务器端分别要发送一个’250 ok’ 与’+ok pop3 server is ready ’的应答.客户端收到此应答后开始发送smtp或pop3命令.pop3通信时一般最开始的命令是’user ‘与’pass’或’ apop’用以进行身份验证.注意由于pop3会话有3个状态,某些命令只在某特定状态下有效.当用户进行完所有的操作后发送一个’quit’命令.服务器端收到此命令即终止此次socket连接并继续侦听其他的连接请求.注意:pop3通信时客户端在transaction状态下’quit’则进入update状态.如果从authorization状态下’quit’则终止通信,而不进入update状态.如果客户端不通过’quit’命令终止连接,pop3会话不会进入update状态.而只有在update状态下收到’quit’命令后服务器才会在断连前把标志为已删的邮件进行物理删除.
二. 代码实现(以pop3为例)
自定义tpop类的描述:
sessionstate = ( init,authorization, transaction,update);
tpop=class (tcomponent)
public ...
下一页 摘要:编程时也许需要产生一些临时文件,但这些文件最好是有唯一的文件名
才不会产生冲突,windows api 提供了这一函数,具体用法如下,记得退出
之后,要把临时目录下一些的临时文件删掉。
unit frmcreatetempfile;
interface
uses
windows, messages, sysutils, classes, graphics, controls, ......