2016-07-24 93 views
0

好吧,下面的代码允许我很好地连接到一些IRC服务器。但是我似乎无法连接到其他人,可能是因为授权,不确定。具体来说,其中一台服务器是irc.d2jsp.org用python套接字连接到IRC服务器

所以我的问题是,我该如何连接到这台服务器,为什么当我连接到它时,我的控制台没有说什么?

import socket 
import sys 

server = "irc.d2jsp.org" 
channel = "#channel" 
botnick = "pybot" 
port = 6667 

irc = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
print "connecting to: " + server 

irc.connect((server, port)) 
print "connected" 

irc.send("USER " + botnick + " " + botnick + " " + botnick + " : Sup!\n") 
print "sent user" 

irc.send("NICK " + botnick + "\n") 
print "sent nick" 

while 1: 
    text = irc.recv(2040) 
    print text 

    if text.find("PING") != -1: 
     irc.send("PONG " + text.split() [1] + "\r\n") 
+0

任何错误消息或者只是没有任何错误 – MatejMecka

+0

没有错误工作,没有:( 当我从连接点连接到其他服务器时,我收到消息,他们打印在控制台,这不是连接到d2jsp irc时,我试图使用SSL但我似乎没有把它挂起来,当我尝试ssl.wrap_socket – LAZ

回答

0

这不是因为你的代码。监听irc.d2jsp.org:6667的服务器接受连接,但不发送任何内容。

我可以从中得到的唯一反应是它在发送QUIT命令后关闭连接。


PS:这是完全无关的问题,但在这条线:

irc.send("USER " + botnick + " " + botnick + " " + botnick + " : Sup!\n") 
可能要冒号后删除空间

。 IRC协议并不期望冒号和最后一个参数之间有空格,所以空格将成为真实名称的一部分(即它将是<space>Sup!

+0

我找到了我的答案,它是关于我的认证序列的语法和您指出的这一点。非常感谢您花时间帮助me:P – LAZ

+0

我可以问你的语法有什么问题吗? –

+0

你说的空间,以及这个特定的服务器需要auth和我的auth命令是错误的。 – LAZ

相关问题