/// <summary> /// アラート情報サーバーに接続します。 /// </summary> public void Connect() { // まずはアラート情報を取得します。 var alertInfo = AlertInfo.Create(); var socket = new Socket( AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); // 指定のアドレス・ポートにつなぎます。 socket.Connect( alertInfo.MS.Address, alertInfo.MS.Port); if (!socket.Connected) { throw new NicoLiveException(NicoStatusCode.NetworkError); } lock (SyncRoot) { Disconnect(); this.socket = socket; this.alertInfo = alertInfo; } StartReceiveAlert(); }
/// <summary> /// アラートサーバーから切断します。 /// </summary> public void Disconnect() { lock (SyncRoot) { if (this.socket == null) { return; } this.socket.Disconnect(false); this.socket = null; this.alertInfo = null; } }
/// <summary> /// アラートサーバーから切断します。 /// </summary> public void Disconnect() { lock (SyncRoot) { if (this.socket == null) { return; } this.socket.Disconnect(false); this.socket = null; this.alertInfo = null; } }
/// <summary> /// アラート情報サーバーに接続します。 /// </summary> public void Connect() { // まずはアラート情報を取得します。 var alertInfo = AlertInfo.Create(); var socket = new Socket( AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); // 指定のアドレス・ポートにつなぎます。 socket.Connect( alertInfo.MS.Address, alertInfo.MS.Port); if (!socket.Connected) { throw new NicoLiveException(LiveStatusCode.NetworkError); } lock (SyncRoot) { Disconnect(); this.socket = socket; this.alertInfo = alertInfo; } StartReceiveAlert(); }