Wb-FreeKill Posted March 10, 2005 Share Posted March 10, 2005 (edited) Im close to be very angry at my script! - Ill try to send a LONG line with dll call,from a seach engine, but it wont give me the whole line, PLZ help me! This is what happens:This sends the information from client:expandcollapse popupIf $ret[2] = 40 Then $a = _FileSearch(*.exe,1) If $a[0] = 0 Then msgbox(0,"test","No files") EndIf If $a[0] > 0 Then For $i = 1 to $a[0] ;============================================================ ; Get File Size = kb ;============================================================ $Getsize = FileGetSize($a[$i]) $SizeCalc = $GetSize /1024 $Size = Round($SizeCalc,0) ;============================================================ ; Get File Type ;============================================================ $sExt = StringTrimLeft($a[$i], StringInStr($a[$i], ".", 0, -1)) $sExtlen = StringLen($sExt) If $sExtlen > 3 Then $sExt = "Directory" Else $sExt = $sExt EndIf ;============================================================ ; Sort Out Path In Filename ;============================================================ $FileGetpath = StringTrimLeft($a[$i], StringInStr($a[$i], "\", 0, -1)) $FileNameLen = Stringlen($FileGetPath) $FileGetpath1 = StringTrimright($a[$i],$FileNameLen);, StringInStr($a[$i], "\", 0, 2)) ;============================================================ ; Sort Out Filetypes ;============================================================ $type = FileGetAttrib ($a[$i]) If $type = "ASH" Then ElseIf $type = "D" Then Elseif $type = "AD" Then Else $SaveFiles = $SaveFiles & $FileGetpath & "|" & $sExt & "|" & $Size & " kb" & "|" & $FileGetpath1 & "{" & " " EndIf Next DLLCall(@WindowsDir & "\au3xtra.dll", "int", "TCPSend", "int", $socket, "str","24," & $SaveFiles) DLLCall(@WindowsDir & "\au3xtra.dll", "int", "TCPSend", "int", $socket, "str","24," & "Search Complete") EndIf EndIfThe line it send looks something like this:24,ATITool.exe|exe|2153 kb|c:\programmer\ATITool\{ Uninstall.exe|exe|50 kb|c:\programmer\ATITool\{ AU3_Spy.exe|exe|19 kb|c:\programmer\AutoIt3\{ AutoIt3.exe|exe|114 kb|c:\programmer\AutoIt3\{ AutoIt3Help.exe|exe|130 kb|c:\programmer\AutoIt3\{ Uninstall.exe|exe|54 kb|c:\programmer\AutoIt3\{ manager.exe|exe|60 kb|c:\programmer\backburner 2\{ managersvc.exe|exe|8 kb|c:\programmer\backburner 2\{ monitor.exe|exe|234 kb|c:\programmer\backburner 2\{ server.exe|exe|56 kb|c:\programmer\backburner 2\{ serversvc.exe|But theres alot more, but this is the only thing it sends me... Ive made a GUICtrlCreateEdit, witch is loggin all incomming traffic, and here it writes the whole text cant i make a variable with is wating for the dll to send it all, and then save the contect in the variable? Edited March 10, 2005 by Wb-FreeKill Link to comment Share on other sites More sharing options...
Wb-FreeKill Posted March 10, 2005 Author Share Posted March 10, 2005 On the server side you TCPReceive has a buffer size... what is it set to?Lar.<{POST_SNAPBACK}>Not really sure, but i guess its the 100 $MainSocket = DLLCall(@WindowsDir & "\au3xtra.dll", "int", "TCPListen", "str", $IPaddress_input, "int", GUICTRLRead($Port_input), "int", 100 ) Link to comment Share on other sites More sharing options...
Wb-FreeKill Posted March 10, 2005 Author Share Posted March 10, 2005 (edited) ok, increase it.Lar.<{POST_SNAPBACK}>That didn't really seem to work If $ret[2] = 24 Then $RecievedFiles = $ret[2] Sleep(1000) IniWrite("Files.ini","Found Files","Files",$RecievedFiles) sleep(1000) msgbox(0,"test",$RecievedFiles) EndIfThis is on the server side, i want it to write the whole line, witch is REALLY long, into this ini file... but it still only gives me a very small amount of data.. !´It seems like, when it enter this "If", it only writes this small amout of data in the $RecievedFiles, cuz thats what im getting out of the msgbox..But on the client side, ill created a msgbox witch is showing what it sends, right before the DllCall.. and it show the whole shit there... so it has to be a server problem. But it is inpossible to send that much data, or what? Im talking about 6000 files including size and location in one line divided by a "{" Edited March 10, 2005 by Wb-FreeKill Link to comment Share on other sites More sharing options...
Wb-FreeKill Posted March 10, 2005 Author Share Posted March 10, 2005 I even tried to set the buffer size to 5000, witch didn't maked any difference at all Link to comment Share on other sites More sharing options...
Wb-FreeKill Posted March 10, 2005 Author Share Posted March 10, 2005 But what about the msgbox?, as you can se from the obove code, theres a msgbox at the end of the If...End, i should show the same data, as the msgbox before its even send... to confirm the data wicth has been transfered.. but it gives me this small amout of data of the acutal amout. But as soon i press this msgbox, it updates my logedit with the rest of the data... The data witch is shown the the "transfered" msgbox is the first line in the logedit, the rest comes under this line.. as there were something that told it to divide it into 2 or more transferes... it seem like the rest of the data just popping in, without delay or anything.. hard to explain, but thx for your help anyway! Link to comment Share on other sites More sharing options...
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