• Indy UDP端口冲突解决


    unit Unit1;

    interface

    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, IdBaseComponent, IdComponent, IdUDPBase, IdUDPServer, StdCtrls,idsockethandle;

    type
      TForm1 
    = class(TForm)
        Button1: TButton;
        IdUDPServer1: TIdUDPServer;
        procedure Button1Click(Sender: TObject);
      
    private
        
    { Private declarations }
      
    public
        
    { Public declarations }
      end;

    var
      Form1: TForm1;

    implementation

    {$R *.dfm}

    procedure TForm1.Button1Click(Sender: TObject);
    var ok:boolean ;
    tempport:integer;
    asockethandle:tidsockethandle;
    begin
    tempport:
    =idudpserver1.DefaultPort;
    repeat
    try
    idudpserver1.Active:
    =true;
    ok:
    =true;
    except
      on EIdCouldNotBindSocket 
    do
        begin
          IdUDPServer1.Active:
    =false;
          IdUDPServer1.Bindings.Clear;
          ASocketHandle:
    =IdUDPServer1.Bindings.Add;
          tempport:
    =tempport+1;
          ASocketHandle.Port:
    =tempport ;

        end;
    end;
    until ok;
    showmessage(inttostr(idudpserver1.Binding.Port));
    end;

    end.
  • 相关阅读:
    cocos2d
    Java中== equals hashcode浅析[转]
    javamail发送邮件的简单实例[转]
    跨平台 游戏 引擎
    7 个漂亮的 JavaScript 的时间轴组件 [转]
    Java中的equals学习小结 [转]
    javamail gmail
    JavaMai——邮箱验证用户注册
    daomain
    oDesk Exam
  • 原文地址:https://www.cnblogs.com/goodloop/p/62825.html
Copyright © 2020-2023  润新知