2016-07-24 11 views
0

そうですね、次のコードでいくつかのIRCサーバーに接続することができます。しかし、私は他者に接続するように見えることはできません。具体的には、これらのサーバの1つが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

noで動作するエラーはありません:( 接続ポイントから他のサーバーに接続すると、メッセージが表示され、コンソールに表示されます。これはd2jsp ircへの接続時には当てはまりません。しかし、私はssl.wrap_socketにしようとするとハングアップするようには思えません。 – LAZ

答えて

0

あなたのコードのためではありません。 irc.d2jsp.org:6667でリスニングするサーバーは接続を受け付けますが、何も送信しません。

私がそれから得ることができる唯一の反応は、QUITコマンドを送信した後に接続を閉じることです。


PS:それはあなたの問題とは全く無関係であるが、この行に:

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

あなたはコロンの後にスペースを削除することもできます。 IRCプロトコルでは、コロンと最後の引数の間に空白がないため、スペースは実名の一部になります(つまり、<space>Sup!

+0

私は自分の答えを見つけました。それは私の認証シーケンスとあなたが指摘したこの文法の構文に関するものでした。私は:P – LAZ

+0

構文の問題は何でしたか? –

+0

あなたの言ったような空間と、この特定のサーバーにauthとauthコマンドが必要であるという事実が間違っていたのですか? – LAZ

関連する問題