我已经在谷歌上搜索了几个小时,因为我知道这是我面临的一个非常简单的问题,但我找不到解决我的问题的简单方法。我正在编写一个非常基本的IRC客户端,只是为了重新学习Java,因为我已经有很长时间没有编写任何代码了,而且我有一个我想稍后做的项目。虽然我卡在套接字监听器上,但如果需要我可以提供代码,但我真正需要的只是一个关于如何创建一个循环来监听和已经创建的套接字并在它完成后立即执行操作的简单教程接收任何数据。这个循环应该一直持续到套接字关闭(用户与服务器断开连接)我当前代码的问题是监听器似乎挂起整个程序,直到它接收到数据。我什至在一个单独的线程中放置了一个while循环,这样它可以挂起该线程
我基本上是在尝试使用C#、WinForms和TcpClient制作一个准系统IRC客户端,它将显示来自irc服务器的原始数据到文本区域(textbox1)。但是我正在努力更新代码(从服务器读取流)。现在我有一个计时器,它运行一个函数(listener),每100毫秒从TCP流中读取一次。但是,我的应用程序卡住并且光标消失,并且应用程序挂起以尝试获取更多数据。那么什么是更好的更新功能呢?usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Dr
一切正常,但有时在几个小时后连接可能会丢失。我应该如何检测聊天不再有效?我应该使用PING/PONG事件来检测吗?这种情况很少见,但仍有可能发生。感谢您的建议。 最佳答案 是的,应该使用IRCPING和PONG命令来提高连接稳定性。服务器和客户端可以发送“空”(无操作,心跳)消息来保持连接。如果一方不再收到这些消息,则可以认为连接丢失。如果服务器检测到没有响应的客户端,则服务器可以简单地关闭连接。客户端可以显示一条错误消息并建议用户重新连接或自动重新连接。单独添加无操作(心跳)消息将有助于保持连接稳定,因为一些网络组件可能会在长时间
使用using(NetworkStreamstream=client.GetStream())导致套接字关闭。 最佳答案 我认为这是问题所在:using(NetworkStreamstream=client.GetStream())那是在block的末尾自动关闭流,这反过来(我相信)关闭了套接字。坦率地说,文档对此并不清楚-它说关闭TcpClient不会关闭流,但它并没有说关闭流是肯定的...... 关于c#-TcpClient自动处理,我们在StackOverflow上找到一个类似的问
我正在使用irclib在Python中编写一个IRC机器人,我正在尝试在某些channel上记录消息。问题是一些mIRC用户和一些机器人使用colorcodes编写.关于如何剥离这些部分并只留下清晰的ascii文本消息,有什么想法吗? 最佳答案 在我看来,正则表达式是最干净的选择。如果您以前没有使用过它们,this是一个很好的资源。有关Python正则表达式库的完整详细信息,请访问here.importreregex=re.compile("\x03(?:\d{1,2}(?:,\d{1,2})?)?",re.UNICODE)正则表达
我正在寻找一个好的、免费的、最好是开源的、嵌入到网页中的IRC客户端。支持大多数浏览器的明显要求,如果需要一个插件,它应该是一个已经部署好的插件,它不应该给服务页面的网络服务器带来太多压力。 最佳答案 不是真正的编程问题,而是Mibbit非常有能力,我已经将它用于几个不同的应用程序,它总是运行良好。请注意,如果您的channel位于thenetworkslistedherethatsupportWEBIRC之一,效果最佳。. 关于html-在网页中嵌入IRC客户端的最佳方式,我们在Sta
我正在寻找一个好的、免费的、最好是开源的、嵌入到网页中的IRC客户端。支持大多数浏览器的明显要求,如果需要一个插件,它应该是一个已经部署好的插件,它不应该给服务页面的网络服务器带来太多压力。 最佳答案 不是真正的编程问题,而是Mibbit非常有能力,我已经将它用于几个不同的应用程序,它总是运行良好。请注意,如果您的channel位于thenetworkslistedherethatsupportWEBIRC之一,效果最佳。. 关于html-在网页中嵌入IRC客户端的最佳方式,我们在Sta
我正在编写一个本质上是聊天程序的程序。我想在其中包含一些特殊的irc样式命令,但我似乎无法概念化如何构建程序。我想知道人们是否可以从高层次的角度帮助我。我不是在寻找代码,只是在寻找如何最好地进行的想法。我最好的尝试是拥有一个如下所示的命令结构:typeCommandstruct{namestring//thenameofthecommandfunctionstring//thefunctionthatwillbecalleduponmatchhelpstring//thehelpmessageforthecommandregexstring//theregexpatternthatwi
我正在编写一个本质上是聊天程序的程序。我想在其中包含一些特殊的irc样式命令,但我似乎无法概念化如何构建程序。我想知道人们是否可以从高层次的角度帮助我。我不是在寻找代码,只是在寻找如何最好地进行的想法。我最好的尝试是拥有一个如下所示的命令结构:typeCommandstruct{namestring//thenameofthecommandfunctionstring//thefunctionthatwillbecalleduponmatchhelpstring//thehelpmessageforthecommandregexstring//theregexpatternthatwi
关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭8年前。Improvethisquestion情况:我想尝试使用IRC机器人作为我正在研究的其他代码的通用通信接口(interface)。服务器硬件陈旧且内存不足,但运行在相对最新的DebianGNU/Linux安装上。我不希望一次有超过一百个用户,最多,而且大部分时间可能只有个位