1
機能している最低限のIRCdを記述する
少し変わったものですが、ねえ、なぜですか?:) 目的:最小限の文字で最小限の機能を提供する、選択した言語で機能するIRCデーモンを記述します。以下の基準を満たしている限り、IRC RFCに完全に準拠する必要はありません(これにより、課題の面白さが大幅に減少します)。 要件: クライアントは、ポート6667に接続して使用できる必要があります。少なくともirssiとXChatは、デフォルトの構成で正常に接続できる必要があります。 ユーザーは、自分のニックネームを指定し、すでに接続しているときにそれを変更し、チャンネルに参加し、チャンネルを離れ、正常に終了できる必要があります(つまりQUIT)。 チャネルは通常のように作成する必要があります-ユーザーがいないチャネルに参加すると、「作成」されます。彼らは永続的である必要はありません。 ユーザーは、チャネルメッセージとプライベートメッセージの両方を(つまり、他のユーザーに)送信できる必要があります。 WHOISこのコマンドは、実装されなければならないだけでなく、PING/ PONG、LIST、およびNAMES(ほとんどが幸せな顧客を維持するために)。 制限: サードパーティのライブラリ(非コアイベントI / Oライブラリを含む)を使用することはできません。使用するプラットフォームに付属する標準ライブラリのみが許可されています。 実装に標準ライブラリのIRCの明示的なサポートが含まれている場合、それも使用できません。もちろん、標準ライブラリのネットワーク機能は問題ありません。 提出物は独立して実行できる必要があります。mIRCスクリプティングでは賢くありません:) モード、キックなどを実装する必要はありません(上記のクライアントで動作させるために必要でない限り)。SSLも必要ありません。上記の最小限の機能で、チャレンジを短く楽しいものにしてください。 IRCが何であるかの詳細についてここでは、RFCは1459年と2812年(私が原因評判の私の不足のためにそれらに直接リンクすることはできません)です。機能的で要件に準拠した最短の提出が優先されます!