标签: irc

应用程序多播的最佳教程?

我最近意识到IP多播(显然在公共互联网上效果不佳)和应用程序多播(根据http://en.wikipedia.org显然在IRC和PSYC中使用)之间存在区别./ wiki/Multicast).

有没有关于实现应用程序级多播的好教程?

我认为组播的重点是减少普通网段的带宽,因此我很难理解应用级组播的作用.

irc ip multicast

6
推荐指数
1
解决办法
2619
查看次数

如何在C#/ Win32中编写和发送文本到mIRC?

在上一个问题中,我询问了如何将文本发送到记事本.它帮了我很大的忙.对于第2部分,这是相同应用的mIRC的简化版本:

[DllImport("User32.dll", EntryPoint = "FindWindow")]
public static extern IntPtr FindWindow(String lpClassName, String lpWindowName);
[DllImport("user32.dll", EntryPoint = "FindWindowEx")]
public static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);
[DllImport("User32.dll")]
public static extern int SendMessage(IntPtr hWnd, int uMsg, int wParam, string lParam);

IntPtr mainHandle = FindWindow("mIRC", null);
IntPtr serverHandle = FindWindowEx(mainHandle, new IntPtr(0), "MDIClient", null);
IntPtr chanHandle = FindWindowEx(serverHandle, new IntPtr(0), "mIRC_Channel", null);
IntPtr editHandle = FindWindowEx(chanHandle, new IntPtr(0), "Edit", null);

SendMessage(editHandle, 0x000C, 0, textBox1.Text);
Run Code Online (Sandbox Code Playgroud)

这似乎对我来说是正确的,除了它不起作用!是否窗口名称不正确(MDIClient,mIRC_Channel和Edit)?这些是我通过Google搜索"FindWindowEx mIRC"在网站上找到的值.

1.)我在上面做错了什么? …

c# irc winapi

6
推荐指数
1
解决办法
2572
查看次数

基于浏览器的IRC客户端可以直接与IRC服务器通信吗?

基于浏览器的irc客户端是否可以在不使用任何网关的情况下工作,即直接与irc服务器通信?

irc

6
推荐指数
2
解决办法
2081
查看次数

正则表达式匹配IRC昵称

我如何使用正则表达式来匹配IRC昵称?这是在Ruby中完成的,如果这有所不同(它可能会,正则表达式的语法,但谁知道.)

编辑:IRC昵称可以包含任何字母,数字或以下任何字符: < - [ ] \ ^ { }

regex irc

6
推荐指数
1
解决办法
5802
查看次数

试图编写IRC客户端,但努力寻找有关代码和连接协议的良好资源

我看过RFC,但我仍然在苦苦挣扎.我在C#中编写了一个基本客户端,但是找不到正确连接的文档.

一旦我连接并传输NICK和USER信息,我就需要加入一个频道.如果我马上加入,没有任何反应 - 大概是因为它太快了.我必须推迟它,但我不知道我需要等待哪个命令才能知道它可以继续.

我得到的东西:

:irc.fish.net注意AUTH:查找你的主机名......

:irc.fish.net 001 FishBot:欢迎

以及代码002,003,005,251,252等的东西,但我找不到在线的任何地方,告诉我这些是什么.

所以我的基本2个问题是:你发送了什么JOIN作为回应,我在哪里可以找到上面的IRC代码对应的内容?RFC文档没用!

c# irc

6
推荐指数
1
解决办法
4420
查看次数

Python,重新创建套接字并自动重新连接

我正在用Python编写一个IRC bot.

来源:http://pastebin.com/gBrzMFmA(对不起,我不知道如何在这里有效/正确地使用代码标签)

当"irc"插座死机时,无论如何我可以去检测它是否死了然后自动重新连接?

我现在谷歌搜索了一段时间,发现我必须创建一个新的套接字.我正在尝试并添加一些东西,比如在正确的时候捕捉socket.error:但它似乎只是挂起而没有正确重新连接..

提前感谢您的帮助

python irc

6
推荐指数
1
解决办法
1万
查看次数

c#中的CTCP原始协议ACTION命令

我正在制作一个机器人连接到一个irc的踢和笑,我正在让它响应不同的东西,但我希望它回应CTCP ACTION命令,这通常被用户称为/我用于角色播放或显示动作.

根据这个关于ctcp http://www.irchelp.org/irchelp/rfc/ctcpspec.html的精彩网页 ?

格式是地板上的\ 001ACTION barfs.\ 001

所以我设置我的机器人来回应

writer.WriteLine("PRIVMSG " + CHANNEL + " \001ACTION " + message + "\001");
Run Code Online (Sandbox Code Playgroud)

我也在我的控制台中打印出这个结果,所有响应都是"没有要发送的文字"

我真的不知道这是什么意思告诉我,我认为转义字符是在早期打破线,\ 0完全忽略了它之后的另一个01,所以我在控制台中打印机器人打印出来的是什么它和我打字/我跳舞,我在控制台阅读

PRIVMSG CHANNEL :(奇数符号)ACTION消息(奇数符号)我不知道奇怪的符号是什么,但对我来说它们看起来像笑脸.....在与几个人交谈后,我明白格式是正确的但是对于不同的语言,\ 001可能不同

所以我查了一下\ 001对于c#和我的fin\x01和\ 0011意味着什么,\ 0011没有做任何事情,\ x01也给我回复相同的响应......"没有要发送的文字"

我将"PRIVMSG"+ CHANNEL +"\ x01ACTION"+消息+"\ x01"打印到我的控制台,我将\ x01替换为当我输入/我跳舞并打开机器人时显示的同一个笑脸角色它读到控制台的内容......

我的代码很简单

 if (type == MessageType.ActionMessage)
            {
                writer.WriteLine("PRIVMSG " + CHANNEL + " \x01ACTION " + message + "\x01");
                Console.WriteLine("PRIVMSG " + CHANNEL + " \x01ACTION " + message + "\x01");
                writer.Flush();
            }
Run Code Online (Sandbox Code Playgroud)

writer对象不为null,并将其写入我的控制台是我可以看到会发生什么

最终的问题是,这是正确的,如果不是通过c#客户端向客户端协议CTCP显示操作的正确方法是什么

c# irc

6
推荐指数
1
解决办法
5115
查看次数

如何用irssi将彩色文字写入irc频道

我现在一整天都在谷歌搜索,我正在寻找一种方法来写一个不同颜色的文本,就像我总是在其他irc频道上看到的那样.我想用基于CLI的irssi来实现这一点.我发现多种方法没有按预期工作.所以问题是我怎么能写这个

WHAT
Run Code Online (Sandbox Code Playgroud)

以绿色为例?我想通过简单的bash脚本实现相同的效果.所以,如果有人在过去经历过这一点,那对我有帮助.

irc irssi

6
推荐指数
1
解决办法
1万
查看次数

什么是在Haskell中处理延迟输入通道的惯用方法

我正在实现一个IRC机器人,因为我通过使用OpenSSL.Session连接SSL,我使用lazyRead函数从套接字读取数据.在连接的初始阶段,我需要按顺序执行几项操作:缺口协商,缺口服务器识别,加入渠道等)因此涉及一些状态.现在我想出了以下内容:

data ConnectionState = Initial | NickIdentification | Connected

listen :: SSL.SSL -> IO ()
listen ssl = do
  lines <- BL.lines `fmap` SSL.lazyRead ssl
  evalStateT (mapM_ (processLine ssl) lines) Initial

processLine :: SSL.SSL -> BL.ByteString -> StateT ConnectionState IO ()
processLine ssl line = do case message of
                            Just a -> processMessage ssl a
                            Nothing -> return ()
  where message = IRC.decode $ BL.toStrict line

processMessage :: SSL.SSL -> IRC.Message -> StateT ConnectionState IO ()
processMessage ssl …
Run Code Online (Sandbox Code Playgroud)

irc monads state haskell

6
推荐指数
1
解决办法
145
查看次数

python中的IRC客户端

我正在为IRC客户端编写python代码.

我想了解IRC客户端和服务器如何相互通信.

谁能给我很好的教程或IRC通信架构来深入理解它?

谢谢

python irc

5
推荐指数
3
解决办法
9380
查看次数

标签 统计

irc ×10

c# ×3

python ×2

haskell ×1

ip ×1

irssi ×1

monads ×1

multicast ×1

regex ×1

state ×1

winapi ×1