我寫的IRC聊天客戶端引起我的ISP不允許正常的IRC程序。所以我正在使用SSL做一個。無論如何,我跑了我的IRC聊天客戶端,我可以聽好,我只是無法識別我自己。聊天開始後,我總是收到這個消息。蟒蛇IRC客戶端沒有身份確認
*,我看着有我監聽端口113和應對無身份確認
一切,所以我寫了一個TCP套接字傾聽和打印的內容發送,以爲我跟隨其他recomendations。然而,我從來沒有得到任何答覆,我在113上telnet到服務器套接字,我能夠連接和溝通很好。
我不認爲IRC派遣覈查回到113或我有什麼不對,我發送信息。我怎麼能確定或者至少應對答覆,以確定自己和聊天
這裏是我的客戶:
import socket, string, re, time , ssl, urllib
network = 'irc.freenode.net'
nick = 'testr'
chan = 'ubuntu'
port = 7000 #6697
socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
def main(network, nick, port):
socket.connect((network,port))
irc = ssl.wrap_socket(socket)
irc.send('NICK %s\r\n' % nick)
print irc.recv(4096)
irc.send('USER %s %s %s :TEST\r\n' % (nick,nick,nick))
print irc.recv(4096)
irc.send("JOIN #%s\r\n" % chan)
print irc.recv(4096)
print "STARTING CHAT!!"
while True:
data = irc.recv(4096)
print data
irc.send("TEST")
if data.find('PING') != -1:
print "PING RECEIVED!"
print "SENDING PONG!"
irc.send('PONG '+data.split()[1]+'\r\n')
if __name__=='__main__':
main(network, nick, port)
我的服務器進行測試的響應:
#!/usr/bin/python
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
host = 'localhost'
port = 113
s.bind((host, port))
s.listen(5)
while True:
c, addr = s.accept()
data = c.recv(1024)
print data
#c.close() # Close the connection
FWIW:谷歌 「IRC客戶端SSL」 就可以找到很多已經支持SSL。 –