当前是否有用.NET编写的IRC服务器(不是服务)?基于.NET的IRC服务器
我的一位同事之前从未使用IRC,或听说过它,这让我感到惊讶,因为他熟悉Jabber和其他消息协议。想知道协议使用.NET有多简单(他知道VB.NET,Flash和3D设计,所以.NET可能只是我可以向他展示的方式)。
只能在我的搜索中找到客户端的代码,没有服务器。
任何人都知道其中之一,这相对接近标准?没有像尼克特等喜欢的东西是必要的。
注:参考服务器本身,如UnrealIRCD等;不是服务。
当前是否有用.NET编写的IRC服务器(不是服务)?基于.NET的IRC服务器
我的一位同事之前从未使用IRC,或听说过它,这让我感到惊讶,因为他熟悉Jabber和其他消息协议。想知道协议使用.NET有多简单(他知道VB.NET,Flash和3D设计,所以.NET可能只是我可以向他展示的方式)。
只能在我的搜索中找到客户端的代码,没有服务器。
任何人都知道其中之一,这相对接近标准?没有像尼克特等喜欢的东西是必要的。
注:参考服务器本身,如UnrealIRCD等;不是服务。
快速搜索发现我这一个(很旧的)...
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;
认为你正在打字,因为我澄清了问题哈哈。指服务器/守护进程,而不是服务。 – 2010-12-15 22:19:27
我认为这样做,除非我误解...我已经更新了我的答案。 – JTew 2010-12-15 22:36:32
这是用于连接到IRC服务器的服务(NickServ HostServ等)所使用的方法,并且PONG响应是客户在拼合时给出的。希望它是我正在寻找的,不幸的是它不是:( – 2010-12-16 20:08:32
注意:IRC服务*通常*与IRCD一起实施,而不是作为其中的一部分。 (即u-lined机器人) – Aren 2010-12-15 22:15:54
我指的是服务器而非服务,我认为对于熟悉IRC服务器的人来说,守护进程更易于识别。 – 2010-12-15 22:17:08
http://codeplex.com是一个伟大的地方搜索C#/ .net的东西 - 很多项目,大量的垃圾,但几个宝石。但在这种情况下,没有服务器......嗯: -/ – 2010-12-15 22:19:14