/// <summary> /// 299 IPアドレス不一致エラー /// </summary> /// <param name="context"></param> /// <param name="socket"></param> /// <param name="packet"></param> public virtual void AddressChangedError(IClientContextForState context, CRLFSocket socket, Packet packet) { socket.Close(); context.State = new FinishedState( ClientConst.OperationResult.Restartable, ClientConst.ErrorCode.RETURNED_ADDRESS_CHANGED ); }
// 634 Client->Server public virtual void ReplyProtocolVersion(Manager.Peer peer, CRLFSocket socket, Packet packet) { if (packet.Data == null || packet.Data.Length != 3) { return; } double version = 0.0; if (!double.TryParse(packet.Data[0], out version)) { return; } if (version < Const.ALLOW_PROTOCOL_VERSION) { socket.WriteLine("694 1 Protocol_version_incompatible"); socket.Close(); return; } socket.WriteLine("612 1"); }
// 614 Server->Client public virtual void RequireProtocolVersion(Manager.Peer peer, CRLFSocket socket, Packet packet) { if (packet.Data == null || packet.Data.Length != 3) { return; } double version = 0.0; if (!double.TryParse(packet.Data[0], out version)) { return; } if (version < Const.ALLOW_PROTOCOL_VERSION) { socket.WriteLine("694 1 Protocol_version_incompatible"); socket.Close(); return; } string[] datas = { Const.PROTOCOL_VERSION, Const.SOFTWARE_NAME, Const.SOFTWARE_VERSION }; socket.WriteLine("634 1 " + string.Join(":", datas)); }
internal void Disconnect() { socket.Close(); }
public virtual void InvalidOperation(Manager.Peer peer, CRLFSocket socket, Packet packet) { socket.Close(); }
public virtual void InvalidProtocolVersion(Manager.Peer peer, CRLFSocket socket, Packet packet) { socket.Close(); }
public override void EndConnection(IClientContextForState context, CRLFSocket socket, Packet packet) { socket.Close(); context.State = new FinishedState(operationResult, errorCode); }