comeonbaby Posted November 27, 2008 Posted November 27, 2008 (edited) At first im sorry about my bad English. I have got code: Global $sock = _IRCConnect($server, $port, $nick); Connects to IRC and Identifies its Nickname While 1 Local $run local $strtmp $recv = TCPRecv($sock, 8192); Recieve things from server If @error Then $sock = _IRCConnect($server, $port, $nick); If you can not recieve then the server must have died. Local $sData = StringSplit($recv, @CRLF); Splits the messages, sometimes the server groups them For $i = 1 To $sData[0] Step 1; Does each message seperately Local $sTemp = StringSplit($sData[$i], " "); Splits the message by spaces If $sTemp[1] = "" Then ContinueLoop; If its empty, Continue! If $sTemp[1] = "PING" Then TCPSend($sock, "PONG " & $sTemp[2] & @CRLF); Checks for PING replys (There smaller then usual messages so its special! If $sTemp[0] <= 2 Then ContinueLoop; Useless messages for the most part Switch $sTemp[2]; Splits the command msg I get it from my friend. But i dont understand about statement: If $sTemp[1] = "PING" Then TCPSend($sock, "PONG " & $sTemp[2] & @CRLF); Here why can we know $sTemp[1] have got data for "PING" ??? I have read about IRC Protocol and flow-chart but dont get any information about it.I try to use TCPRecv() to recive data from IRC but cant look for data have got statement : "PING". I know PING is a statement that server send to client to request client live or die.But why i cant find it out in data sended from server ? Can everybody tell me ? Thanks in advance!! Edited November 27, 2008 by comeonbaby
November Posted November 27, 2008 Posted November 27, 2008 At first im sorry about my bad English. I have got code: Global $sock = _IRCConnect($server, $port, $nick); Connects to IRC and Identifies its Nickname While 1 Local $run local $strtmp $recv = TCPRecv($sock, 8192); Recieve things from server If @error Then $sock = _IRCConnect($server, $port, $nick); If you can not recieve then the server must have died. Local $sData = StringSplit($recv, @CRLF); Splits the messages, sometimes the server groups them For $i = 1 To $sData[0] Step 1; Does each message seperately Local $sTemp = StringSplit($sData[$i], " "); Splits the message by spaces If $sTemp[1] = "" Then ContinueLoop; If its empty, Continue! If $sTemp[1] = "PING" Then TCPSend($sock, "PONG " & $sTemp[2] & @CRLF); Checks for PING replys (There smaller then usual messages so its special! If $sTemp[0] <= 2 Then ContinueLoop; Useless messages for the most part Switch $sTemp[2]; Splits the command msg I get it from my friend. But i dont understand about statement: If $sTemp[1] = "PING" Then TCPSend($sock, "PONG " & $sTemp[2] & @CRLF); Here why can we know $sTemp[1] have got data for "PING" ??? I have read about IRC Protocol and flow-chart but dont get any information about it.I try to use TCPRecv() to recive data from IRC but cant look for data have got statement : "PING". I know PING is a statement that server send to client to request client live or die.But why i cant find it out in data sended from server ? Can everybody tell me ? Thanks in advance!!Hi there Reading the code you posted, PING is not a command but a value inside $recv. $recv is splitted (removing end of lines with carrier) to array $data. Every element in array $data[$i] is splitted by removing spaces. Somewhere in those elements the PING statement is there and if it is "PONG" is send to server. Global $sock = _IRCConnect($server, $port, $nick); Connects to IRC and Identifies its Nickname While 1 Local $run local $strtmp $recv = TCPRecv($sock, 8192); Recieve things from server If @error Then $sock = _IRCConnect($server, $port, $nick); If you can not recieve then the server must have died. Local $sData = StringSplit($recv, @CRLF); Splits the messages, sometimes the server groups them For $i = 1 To $sData[0] Step 1; Does each message seperately Local $sTemp = StringSplit($sData[$i], " "); Splits the message by spaces If $sTemp[1] = "" Then ContinueLoop; If its empty, Continue! If $sTemp[1] = "PING" Then $iSend = TCPSend($sock, "PONG " & $sTemp[2] & @CRLF); Checks for PING replys (There smaller then usual messages so its special! if $iSend > 0 then MsgBox(0, "Send Result", "Success", 4) Else MsgBox(0, "Send Result", "Failure", 4) ContinueLoop EndIf If $sTemp[0] <= 2 Then ContinueLoop; Useless messages for the most part Switch $sTemp[2]; Splits the command msg ... Cheers Old Scriptology Visual Ping 1.8 - Mass Ping Program with export to txt delimited. Desktop 2 RGB and YMCK - Pick a color in the desktop and get the RGB and YMCK code. Desktop 2 RGB - Pick a color in the desktop and get the RGB code. ShootIT 1.0 - Screen Capture full and partial screen [font="'Arial Black';"]Remember Remember The Fifth of November.[/font]
comeonbaby Posted November 27, 2008 Author Posted November 27, 2008 Yes i know about how to split it. But server ping for 180 seconds and close connect. And for 180 seconds i recieve data from server AND cant look for any text have got : "PING" . So why that statement able to check its avaiable ? And here is data i get from server : :IRC.VIETIRC.COM 001 Slave_BQXWSOXL :Welcome to VIET IRC NETWORK Slave_BQXWSOXL!Slave_BQXW@118.71.170.120 :IRC.VIETIRC.COM 002 Slave_BQXWSOXL :Your host is IRC.VIETIRC.COM[@0.0.0.0], running UltimateIRCd(Tsunami)-3.0(00).rc3 :IRC.VIETIRC.COM 003 Slave_BQXWSOXL :This server was last (re)started on Sat Sep 6 2008 at 01:23:19 PDT and is located San Diego, California USA :IRC.VIETIRC.COM 004 Slave_BQXWSOXL IRC.VIETIRC.COM UltimateIRCd(Tsunami)-3.0(00).rc3 adhioprxDOPRSWZ acehimnopqstvAKMNORS :IRC.VIETIRC.COM 005 Slave_BQXWSOXL SAFELIST SILENCE KNOCK FNC WATCH=128 CHANLIMIT=#&:20 MAXLIST=be:60 NICKLEN=18 TOPICLEN=307 KICKLEN=307 CHANNELLEN=32 :are available on this server :IRC.VIETIRC.COM 005 Slave_BQXWSOXL EXCEPTS=e CHANTYPES=#& PREFIX=(aohv)!@%+ CHANMODES=be,k,l,cimnpqstAKMNORS STATUSMSG=!@%+ NETWORK=VietIRC CASEMAPPING=ascii STD=i-d :are available on this server :IRC.VIETIRC.COM 251 Slave_BQXWSOXL :There are 0 users and 95 invisible on 3 servers:IRC.VIETIRC.COM 252 Slave_BQXWSOXL 19 :IRC Operators online:IRC.VIETIRC.COM 254 Slave_BQXWSOXL 181 :channels formed :IRC.VIETIRC.COM 255 Slave_BQXWSOXL :I have 92 clients and 1 servers:IRC.VIETIRC.COM 265 Slave_BQXWSOXL :Current local users: 92 Max: 708 :IRC.VIETIRC.COM 266 Slave_BQXWSOXL :Current global users: 95 Max: 708 :IRC.VIETIRC.COM 375 Slave_BQXWSOXL :- IRC.VIETIRC.COM Message of the Day - :IRC.VIETIRC.COM 372 Slave_BQXWSOXL :- 27/11/2008 3:02 :IRC.VIETIRC.COM 372 Slave_BQXWSOXL :- This is UltimateIRCd MOTD replace it with something better. :IRC.VIETIRC.COM 376 Slave_BQXWSOXL :End of /MOTD.:Slave_BQXWSOXL MODE Slave_BQXWSOXL :+ix :Slave_BQXWSOXL!Slave_BQXW@118.71.170.50749 JOIN :#VIETNAM :IRC.VIETIRC.COM 332 Slave_BQXWSOXL #VIETNAM :0,7Cac ban muon dang ky nick name thi go~ /msg NickServ Register Password Email 0,3va sau do kiem tra email de nhan code kich hoat. va lam theo huong dan 0,4Luu y : Email phai la email that neu ko se ko ket thuc viec dang ky nick name cua ban.1,8 /Join #DANGKY de biet them chi tiet :IRC.VIETIRC.COM 333 Slave_BQXWSOXL #VIETNAM zZBoomZz 1226186978:IRC.VIETIRC.COM 353 Slave_BQXWSOXL = #VIETNAM :Slave_BQXWSOXL lamduyen BigBang @TanKiem Guest007615539 anhchang_7tinh zZBoomZz RongXanh Quoc_Minh EmXinhEmKiu_EmHokI caubexitrum Vi`Sao ThanDieu_Buon AnGiangChat ThanDieu_CongTu AnhDung TuanAnh ThanDieu_DaiHiep LUDAmala BoGiaCocSe Batigol @Thuy_AnCH @NoLove DolLa be_mi Khach7067964 tItHaI @ChanTinh @ChuBi Thieugai emsemaichoanh32 AngelHell boylangthang_vt nOnick Quocdi CuOc-ChOi-Vo-NgHiA HOANGBAOLONG @beginthewarCH LangTuDaTinh anhnhatrang222 :IRC.VIETIRC.COM 353 Slave_BQXWSOXL = #VIETNAM :nKt JACKY no111 GiotSuong boymuonboyvtlt b-y-a-l PhuDuTrang nCt QuocVuong PhieuLang PeNgangTan tEthiEn @CIA TinhKhong NyPua TimEm_AnhTimMAi @CongChua_LoLem vitieubao @PopbYCH nr Mauritius MinhTriVNN MrZing Bo NhauLangThang vodanh BuO^`n khach123456 Guardian dvn-aw Hesman @ThaiNgocCH {cheer} PhC @Services {e-e} chomayxuong KoSoVo langtu_hoanghon :IRC.VIETIRC.COM 366 Slave_BQXWSOXL #VIETNAM :End of /NAMES list. :Slave_BQXWSOXL!Slave_BQXW@118.71.170.50749 JOIN :#CB :IRC.VIETIRC.COM 353 Slave_BQXWSOXL = #CB :Slave_BQXWSOXL @comeonbaby :IRC.VIETIRC.COM 366 Slave_BQXWSOXL #CB :End of /NAMES list. :Global!services@services.vietirc.com NOTICE Slave_BQXWSOXL :[Logon News - Sep 10 2008] 11,1Welcome to VietIRC NetWork!!! 4,1Chu'c cac ban co thoi gian vui ve tai day. Room chat chi'nh cua Server:7 #VIETNAM 11,1 Ban ca^n` su giup do~ 8/join #HELP,#support 11hoac go~ 9/STAFF 11de ti`m IRCOP online giup do~! :Global!services@services.vietirc.com NOTICE Slave_BQXWSOXL :[Random News - Sep 10 2008] 0,12WELCOME TO VIETNAMESE SERVER CHAT - /SERVER IRC.VIETIRC.COM & IRC.DATVIET.NET - VIETIRC NETWORK !!! 0,12HAVE A NICE DAY, JUST RELAXING, CHATTING AND FIND OUT SOMETHING ABT MIRC&VIETIRC.0,12 IF YOU NEED ANY ASSISTANTS JUST DO 0,6/STAFF 0,12TO CHECK IRCOPS ARE ONLINE AND AVAILABLE OR DO 0,4/JOIN #SUPPORT,#HELP 0,12TO BE HELPED CLEARLY! :lamduyen!whUbOLq9n@216.186.133.63699 NICK :emmai_codon:emmai_codon!whUbOLq9n@216.186.133.63699 PRIVMSG #vietnam :FlooD ne` admin!!!!!FlooD ne` admin!!!!!FlooD ne` admin!!!!!FlooD ne` admin!!!!!FlooD ne` admin!!!!!FlooD ne` admin!!!!!FlooD ne` admin!!!!!FlooD ne` admin!!!!!FlooD ne` admin!!!!!FlooD ne` admin!!!!!FlooD ne` admin!!!!!FlooD ne` admin!!!!!FlooD ne` admin!!!!!:BigBang!whUbOLq9n@216.186.133.63699 QUIT :BigBang:emmai_codon!whUbOLq9n@216.186.133.63699 QUIT :emmai_codon:Yeuemnheanh20!hoasua@IP-53373.hsd1.nh.comcast.net JOIN :#VIETNAM :Yeuemnheanh20!hoasua@IP-53373.hsd1.nh.comcast.net QUIT :Killed (services.vietirc.com (Cloning [1])) :coy`!bichnga@203.162.3.42731 JOIN :#VIETNAM :Night_Dream!hotdumtamo@IP-43189.static.optonline.net JOIN :#VIETNAM :Night_Dream!hotdumtamo@IP-43189.static.optonline.net NICK :Hoacuctim1
November Posted November 27, 2008 Posted November 27, 2008 I see... And you are sure that the script works with you friend? Maybe the PING statement is not in that broadcast. An idea, copy all data to a txt file for a while (at least 180 secs) and then try to find PING. Cheers Old Scriptology Visual Ping 1.8 - Mass Ping Program with export to txt delimited. Desktop 2 RGB and YMCK - Pick a color in the desktop and get the RGB and YMCK code. Desktop 2 RGB - Pick a color in the desktop and get the RGB code. ShootIT 1.0 - Screen Capture full and partial screen [font="'Arial Black';"]Remember Remember The Fifth of November.[/font]
comeonbaby Posted November 27, 2008 Author Posted November 27, 2008 Oh thank you very much.I have found it .Your idea so great.I'm too stupid >"< . Thanks again.
November Posted November 27, 2008 Posted November 27, 2008 Great Be pacience my friend Any time, cheers!! Old Scriptology Visual Ping 1.8 - Mass Ping Program with export to txt delimited. Desktop 2 RGB and YMCK - Pick a color in the desktop and get the RGB and YMCK code. Desktop 2 RGB - Pick a color in the desktop and get the RGB code. ShootIT 1.0 - Screen Capture full and partial screen [font="'Arial Black';"]Remember Remember The Fifth of November.[/font]
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now