Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无标识响应Python IRC_Python_Sockets_Irc - Fatal编程技术网

无标识响应Python IRC

无标识响应Python IRC,python,sockets,irc,Python,Sockets,Irc,我没有收到这个IRC连接的“Ident”响应 import sys import time import socket server="irc.freenode.net" botnick="Hidden" channel="Hidden" #Establish connection irc = socket.socket(socket.AF_INET, socket.SOCK_STREAM) irc.connect((server,6667)) irc.setblocking(Fa

我没有收到这个IRC连接的“Ident”响应

import sys
import time
import socket 
server="irc.freenode.net" 
botnick="Hidden" 
channel="Hidden"

#Establish connection 
irc = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
irc.connect((server,6667)) 
irc.setblocking(False)
time.sleep(1)

time.sleep(1) 
irc.send(("/NICK "+botnick+"\r\n").encode('UTF-8'))
time.sleep(1) 
irc.send(("/JOIN "+channel+"\r\n").encode('UTF-8'))

while 1: 
 time.sleep(0.1) 
 try: 
      text=irc.recv(2040) 
      print(text) 
 except Exception: 
      pass
if text.find("PING")!=-1:
irc.send(("Test").encode('UTF-8'))
input() 
这是控制台输出

b':wilhelm.freenode.net NOTICE * :*** Looking up your       
hostname...\r\n:
wilhelm.freenode.net NOTICE * :*** Checking Ident\r\n:
wilhelm.freenode.net NOTICE * :*** Found your hostname\r\n'
b':wilhelm.freenode.net NOTICE * :*** No Ident response\r\n'
它只是挂起大约5-10秒,然后说正在关闭到127.0.0.1的链接 然后说b多次

源代码

ident是一种服务,用于将来自多用户主机的连接与“拥有”这些连接的用户相关联。它曾经被更广泛地使用,较旧的SMTP和NNTP服务器经常配置为记录identd响应,但今天除了IRC服务器外,它基本上已经不再使用了

最初,IRC服务器会在连接时检查ident,因为大多数连接都来自拥有大量用户的UNIX主机,ident允许服务器以及通道操作员在滥用情况下区分这些用户

到目前为止,它仍在为此目的工作,并且对于希望权限超过非常小的连接限制(通常为2-5个连接)的主机来说,它经常是必需的。有时,服务器甚至对未共享的主机也需要它,因为这会为试图从不安全的代理和禁止使用IRC的系统中进行IRC的人造成障碍

由于ident在端口113上运行,因此在将其与类似unix的操作系统(如Linux)一起使用时,您不能以普通用户的身份启动服务-系统管理员必须安装ident守护程序。最有可能的是,您的系统的软件存储库中有一个或多个可用的。在Windows上,不存在特权端口的概念,IRC客户端软件通常提供自己的内置标识