2010-12-15 81 views
3

当前是否有用.NET编写的IRC服务器(不是服务)?基于.NET的IRC服务器

我的一位同事之前从未使用IRC,或听说过它,这让我感到惊讶,因为他熟悉Jabber和其他消息协议。想知道协议使用.NET有多简单(他知道VB.NET,Flash和3D设计,所以.NET可能只是我可以向他展示的方式)。

只能在我的搜索中找到客户端的代码,没有服务器。

任何人都知道其中之一,这相对接近标准?没有像尼克特等喜欢的东西是必要的。

注:参考服务器本身,如UnrealIRCD等;不是服务。

+3

注意:IRC服务*通常*与IRCD一起实施,而不是作为其中的一部分。 (即u-lined机器人) – Aren 2010-12-15 22:15:54

+0

我指的是服务器而非服务,我认为对于熟悉IRC服务器的人来说,守护进程更易于识别。 – 2010-12-15 22:17:08

+0

http://codeplex.com是一个伟大的地方搜索C#/ .net的东西 - 很多项目,大量的垃圾,但几个宝石。但在这种情况下,没有服务器......嗯: -/ – 2010-12-15 22:19:14

回答

0

快速搜索发现我这一个(很旧的)...

http://sourceforge.net/projects/csharpircserv/


的这部分代码监听传入connnections

public cSocket(string Server, int Port) 
    { 
     if(sock != null && sock.Connected) 
     { 
      sock.Shutdown(SocketShutdown.Both); 
      System.Threading.Thread.Sleep(10); 
      sock.Close(); 
     } 
     sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);  
     IPEndPoint ep = new IPEndPoint(IPAddress.Parse(Server), Port); 
     AsyncCallback onconnect = new AsyncCallback(OnConnect); 
     sock.BeginConnect(ep, onconnect, sock); 
    } 

这Main.cs对Ping的响应部分

switch(sp[0].ToLower()) 
         { 
          case "ping": 
           s.Send("PONG :"+co[1]); 
           break; 
+0

认为你正在打字,因为我澄清了问题哈哈。指服务器/守护进程,而不是服务。 – 2010-12-15 22:19:27

+0

我认为这样做,除非我误解...我已经更新了我的答案。 – JTew 2010-12-15 22:36:32

+0

这是用于连接到IRC服务器的服务(NickServ HostServ等)所使用的方法,并且PONG响应是客户在拼合时给出的。希望它是我正在寻找的,不幸的是它不是:( – 2010-12-16 20:08:32