网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > DELPHI > 正文
用Delphi设计自己的代理服务器
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
下载{$ArticleTitle}原创论文样式
se;           {标志清零}
end;


file://主窗口建立…
procedure TForm1.FormCreate(Sender: TObject);
begin
   Service_Enabled:=false;
   timer2.Enabled:=true;        {窗口建立时,打开定时器}
end;

file://窗口关闭时…
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
   timer1.Enabled:=false;          {关闭定时器}
   if Service_Enabled then
      serversocket1.Active:=false;   {退出程序时关闭服务}
end;

file://退出程序按钮…
procedure TForm1.N01Click(Sender: TObject);
begin
   form1.Close;                     {退出程序}
end;

file://开启代理服务后…
procedure TForm1.ServerSocket1Listen(Sender: TObject;
  Socket: TCustomWinSocket);
begin
   Service_Enabled:=true;            {置正在服务标志}
   N11.Enabled:=false;
   N21.Enabled:=true;
end;

file://被代理端连接到代理服务器后,建立一个会话,并与套接字绑定…
procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
  Socket: TCustomWinSocket);
var
i,j: integer;
begin
   j:=-1;
   for i:=1 to sessions do               {查找是否有空白项}
      if not session[i-1].Used and not session[i-1].CSocket.active then
         begin
            j:=i-1;                      {有,分配它}
            session[j].Used:=true;       {置为在用}
            break;
         end
      else
         if not session[i-1].Used and session[i-1].CSocket.active then
               session[i-1].CSocket.active:=false;
   if j=-1 then
      begin                              {无,新增一个}
         j:=sessions;
         inc(sessions);
         setlength(session,sess

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号