|
You last visited: Today at 01:43
Advertisement
send Problem
Discussion on send Problem within the C/C++ forum part of the Coders Den category.
02/11/2012, 11:26
|
#1
|
elite*gold: 0
Join Date: Apr 2009
Posts: 177
Received Thanks: 42
|
send Problem
edit
|
|
|
02/11/2012, 11:47
|
#2
|
elite*gold: 0
Join Date: Feb 2011
Posts: 1,206
Received Thanks: 736
|
Quote:
Originally Posted by BrendonHomo
Quote:
BYTE Packet[] = "packetname test";
BYTE new_Packet[16];
for (int i = 0; i < strlen(Packet); i++)
{
new_Packet[i] = (BYTE)(Packet[i]+0x0A);
}
new_Packet[15] = 0;
send(Connect,new_Packet,strlen(new_Packet),0);
|
Quote:
BYTE Packet[] = "packetname test";
BYTE* new_Packet = new BYTE[strlen(Packet)+1];
int i;
for (i = 0; i < strlen(Packet); i++)
{
new_Packet[i] = (BYTE)(Packet[i]+0x0A);
}
new_packet[i] = 0;
send(Connect,new_Packet,strlen(new_Packet),0);
|
|
...
|
|
|
02/11/2012, 11:51
|
#3
|
elite*gold: 0
Join Date: Apr 2009
Posts: 177
Received Thanks: 42
|
Habs so schon ebendfalls versucht, erfolglos.
mfg
|
|
|
02/11/2012, 11:57
|
#4
|
elite*gold: 0
Join Date: Feb 2011
Posts: 1,206
Received Thanks: 736
|
dein erstes von dem du behauptest es würde funktionieren müsste aber eigtl schon ganz schön unfug angestellt haben...
die strings die du da erstellst sind ja nich null-terminiert, guck, ob du auch sicher alles so wie ich geschrieben habe hast, hab noch was hervorgehoben...
|
|
|
02/11/2012, 12:08
|
#5
|
elite*gold: 0
Join Date: Apr 2009
Posts: 177
Received Thanks: 42
|
Quote:
Originally Posted by Dr. Coxxy
dein erstes von dem du behauptest es würde funktionieren müsste aber eigtl schon ganz schön unfug angestellt haben...
die strings die du da erstellst sind ja nich null-terminiert, guck, ob du auch sicher alles so wie ich geschrieben habe hast, hab noch was hervorgehoben...
|
Dein 2tes Beispiel geht nicht -> Crash, hab die Variable umgenannt und in der for Schleife bei jeden Durchlauf um 1 erhöht und dann 0 terminiert, passiert ingame aber immernoch nichts.
Edit: Hab ebend überprüft ob der Client das Packet richtig bekommt und dies scheint auch so allerdings kann ich mir nicht erklären warum das erste Beispiel von mir funktioniert.
|
|
|
02/11/2012, 12:13
|
#6
|
elite*gold: 0
Join Date: Feb 2011
Posts: 1,206
Received Thanks: 736
|
zeig mal deinen neuen code.
@Edit:
wenn dein new_Packet im ersten beispiel global war, wurde es mit 0 initialisiert, dann tritt das problem nicht auf.
|
|
|
02/11/2012, 12:19
|
#7
|
elite*gold: 0
Join Date: Apr 2009
Posts: 177
Received Thanks: 42
|
Quote:
Originally Posted by Dr. Coxxy
zeig mal deinen neuen code.
@Edit:
wenn dein new_Packet global war, wurde es mit 0 initialisiert, dann tritt das problem nicht auf.
|
Code:
BYTE Packet[] = "packetname test";
BYTE *new_Packet = new BYTE[strlen(Packet)+1];
int f = 0;
for (int i = 0; i < strlen(Packet); i++) {
new_Packet[i] = (BYTE)(Packet[i]+0x0A);
f++;
}
new_Packet[f] = 0;
send(sConnect,new_Packet,strlen(new_Packet),0);
PS: Den Packetnamen hab ich auch geändert nicht das irgendwer denkt das ich "packetname test" gesendet habe.
|
|
|
02/11/2012, 12:34
|
#8
|
elite*gold: 0
Join Date: Feb 2011
Posts: 1,206
Received Thanks: 736
|
wenn du schon nicht i aus der for-schleife rausnimmst, kannst du auch direkt:
Code:
new_Packet[strlen(Packet)] = 0;
schreiben.
was benutzst du eigtl für nen compiler der strlen von BYTE akzeptiert?
seh jetzt so keinen fehler mehr.
|
|
|
02/11/2012, 12:38
|
#9
|
elite*gold: 0
Join Date: Apr 2009
Posts: 177
Received Thanks: 42
|
C++ Builder XE2.
Nen Kumpel hat sich das gestern auch angeschaut, einiges versucht was ich allerdings auch schon versucht habe, und war am ende sprachlos.
|
|
|
02/11/2012, 12:44
|
#10
|
elite*gold: 0
Join Date: Feb 2011
Posts: 1,206
Received Thanks: 736
|
Code:
BYTE Packet[] = "packetname test";
for (int i = 0; i < strlen(Packet); i++)
{
Packet[i] += 0x0A;
}
send(sConnect, Packet, strlen(Packet), 0);
funktioniert das denn?
wieso castest du das hier überhaupt:
Code:
new_Packet[i] = (BYTE)(Packet[i]+0x0A);
als was ist BYTE typedef't in deinem compiler?
|
|
|
02/11/2012, 13:06
|
#11
|
elite*gold: 0
Join Date: Apr 2009
Posts: 177
Received Thanks: 42
|
Quote:
Originally Posted by Dr. Coxxy
Code:
BYTE Packet[] = "packetname test";
for (int i = 0; i < strlen(Packet); i++)
{
Packet[i] += 0x0A;
}
send(sConnect, Packet, strlen(Packet), 0);
funktioniert das denn?
wieso castest du das hier überhaupt:
Code:
new_Packet[i] = (BYTE)(Packet[i]+0x0A);
als was ist BYTE typedef't in deinem compiler?
|
Nein funktioniert nicht,das casten hab ich vorsichtshalber gemacht.
Quote:
|
typedef unsigned char Byte; // 0..255
|
|
|
|
02/11/2012, 13:13
|
#12
|
elite*gold: 0
Join Date: Feb 2011
Posts: 1,206
Received Thanks: 736
|
BYTE == Byte?
ist sehr seltsam, dass dein erstes beispiel überhaupt funktioniert, sicher, dass das nicht nur ein zufallstreffer war o.ä.?
eigtl hätte der schon wegen der fehlenden 0-terminierung, zmdst ab und zu amok laufen müssen.
funktioniert dein 1. beispiel denn noch, wenn du den string 0-terminierst?
|
|
|
02/11/2012, 13:30
|
#13
|
elite*gold: 0
Join Date: Apr 2009
Posts: 177
Received Thanks: 42
|
Quote:
Originally Posted by Dr. Coxxy
BYTE == Byte?
ist sehr seltsam, dass dein erstes beispiel überhaupt funktioniert, sicher, dass das nicht nur ein zufallstreffer war o.ä.?
eigtl hätte der schon wegen der fehlenden 0-terminierung, zmdst ab und zu amok laufen müssen.
|
Jep BYTE==Byte.
Sicher bin ich mir nicht, aber aufjedenfall krieg ich ingame eine MessageBox mit dem Text zwar ist am ende noch ein Ascii Zeichen wahrscheinlich weils nicht 0 Terminiert ist.
Aufjedenfall was ich sehr komisch finde ist das gestern dieser Code einwandfrei funktionierte, und heute Plötzlich nicht mehr (Teufelshand?  ) (Da brauch ich auch kein Dynamischen Array mehr) Und am Quellcode hab ich auch nichtsmehr verändert.
Code:
BYTE Packet[] = "packetname test";
BYTE new_Packet[255];
for (int i = 0; i < sizeof(Packet); i++) {
new_Packet[i] = (BYTE)(Packet[i] + 0x0A);
}
send(sConnect,new_Packet,sizeof(new_Packet),0);
Nein, mein erstes beispiel funktioniert nichtmehr wenn ich ihn 0 Terminiere, langsam kriege ich echt ne krise ;p
|
|
|
02/11/2012, 13:33
|
#14
|
elite*gold: 0
Join Date: Feb 2011
Posts: 1,206
Received Thanks: 736
|
dann terminier mal mit 0 und schick mit:
Quote:
|
send(Connect,new_Packet,strlen(new_Packet)+1,0);
|
|
|
|
02/11/2012, 13:44
|
#15
|
elite*gold: 0
Join Date: Apr 2009
Posts: 177
Received Thanks: 42
|
Das kann doch echt nicht sein , logischerweise muss es gehen, aber es funktioniert nicht?!
Kann das irgendwie mit dem Compiler zusammenhängen?
|
|
|
 |
|
Similar Threads
|
Hook Send problem (UK)
10/18/2011 - Nostale - 8 Replies
Hello folks,
I'm trying to hook the "send" function of nostale.
I wrote this little piece of code
#include <Windows.h>
#include <fstream>
#include <detours.h>
using namespace std; // byte me
|
Send problem
01/11/2011 - AutoIt - 8 Replies
Hey,
Ich habe grad ei grundlagen prob und ich bräuchte mal schnell eure analyse ^^
HotKeySet("q","lala")
Func lala()
Send("bla")
Send("{ENTER}")
Send("bla")
Send("{ENTER}")
|
Send() Problem
06/14/2010 - AutoIt - 7 Replies
Hey Community,
ich hab da ein Problem.
Und zwar ist es nervig, dass ich meinen Namen immer per Lesezeichen (Google)
kopieren muss und dann hier einfügen muss, weil er ja Sonderzeichen enthält.
Deswegen hab ich mir gedacht, ich schreib mir ein Mini-Programm, dass ich in
den Autostart-Ordner packe und sobald ich STRG + ALT + P drücke, soll das
Programm für mich "Σternαl." in den Usernameinput auf e*pvpers schreiben.
|
[osds] problem send item & send weapon
11/12/2009 - Dekaron Private Server - 3 Replies
Hello i have 2 problems with osds control panel
when i try to send weapon i have no more weapon available i cant choice i have nothing but i can send armor succesfully and my second problem is send item when i try to send item the browser say Login Error, Please login again.anyone can be fix that please?
i post screenshots http://panzer.power-heberg.com/itembug.JPG
http://panzer.power-heberg.com/noweapon.JPG
|
Autoit Send Problem
02/18/2008 - General Coding - 10 Replies
AutoItSetOption("SendKeyDelay",0)
AutoItSetOption("SendKeyDownDelay",8)
SoundPlay("4.mp3")
sleep(5000)
$i = 5
While $i =5
$coord = PixelSearch( 573, 315, 580, 350, 0x8C34F7, 50 )
If Not @error Then
;MsgBox(0, "X and Y are:", $coord & "," & $coord)
|
All times are GMT +1. The time now is 01:43.
|
|