public new bool Save() { if (User.Current != null) { if (!User.Current.HasRight(Constants.DOMAIN_PROFILE_SETUP_RIGHT)) { throw new UnauthorizedAccessException(); } } else if (Utility.IsSiteSetup) { throw new UnauthorizedAccessException(); } bool ret = true; try { base.Save(); this[SipProfileSettingTypes.sip_port] = SIPPort.ToString(); this[SipProfileSettingTypes.rtp_ip] = RTPInterface.IPAddress; this[SipProfileSettingTypes.sip_ip] = SIPInterface.IPAddress; } catch (Exception e) { ret = false; EventController.TriggerEvent(new ErrorOccuredEvent(e)); } return(ret); }
public bool Link(TPeerCnt PeerNum_, SIPPort IPPort_, Int32 ConnectTimeOut_) { try { var Socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); Socket.NoDelay = _NoDelay; SKey Key = _PeerMgr.Link(PeerNum_); if (Key == null) { return(false); } if (!_Peers[Key.PeerNum].Link(Socket, IPPort_, Key, _Worker, ConnectTimeOut_)) { _PeerMgr.UnLink(Key.PeerNum); return(false); } return(true); } catch { return(false); } }
public override bool Equals(System.Object obj) { SIPPort p = obj as SIPPort; if ((object)p == null) { return(false); } return(IP == p.IP && Port == p.Port); }
// 유저 호출 public bool Link(Socket Socket_, SIPPort IPPort_, SKey Key_, TEventHandler RecvEventHandler_, Int32 ConnectTimeOut_) { if (_Socket != null) { return(false); } _RecvEvent = new SocketAsyncEventArgs(); _RecvEvent.Completed += new EventHandler <SocketAsyncEventArgs>(RecvEventHandler_); _SendEvent = new SocketAsyncEventArgs(); _SendEvent.Completed += new EventHandler <SocketAsyncEventArgs>(RecvEventHandler_); _Socket = Socket_; _RecvEvent.UserToken = Key_; _RecvEvent.RemoteEndPoint = IPPort_.EndPoint; _Key = Key_; _LongIP = IPPort_.IP; try { if (!_Socket.ConnectAsync(_RecvEvent)) // _Worker 로 통보받을 필요 없음. { _HBRcvPeriod.NextLoose(); return(_Linked()); } else { _Connecting = true; _ConnectTime = Environment.TickCount; _ConnectTimeOut = ConnectTimeOut_; } } catch { _LinkFailed(); return(false); } return(true); }
public bool Equals(SIPPort Obj_) { return(Obj_ != null && IP == Obj_.IP && Port == Obj_.Port); }