ISP에서 일반 IRC 프로그램을 허용하지 않기 때문에 IRC 채팅 클라이언트를 작성하고 있습니다. 그래서 나는 SSL을 사용하여 하나 만들고있다. 어쨌든, 나는 IRC 채팅 클라이언트를 실행하고 잘 알 수있다. 나는 자신을 식별 할 수 없다. 나는 채팅 시작 후에 항상 이것을받습니다. 나는 나를 포트 113에서 수신 및 응답이 살펴 보았다python irc client no ident 응답
* 없음 행선지 응답
모든 그래서 내가 다른의 recomendations에 따라 생각 듣고 보내 무엇을 인쇄 할 TCP 소켓을 썼다. 그러나, 나는 결코 어떤 응답도 얻지 않으며 113에 서버 소켓에 telneted 연결하고 잘 교통 할 수 있었다.
나는 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)
그리고 응답 테스트를 위해 내 SERVER :
#!/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 : google "irc client ssl"은 이미 SSL을 지원하는 많은 것을 찾을 수 있습니다. 답장을 보내 주신 덕분에 –