Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 01:43

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



send Problem

Discussion on send Problem within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Apr 2009
Posts: 177
Received Thanks: 42
send Problem

edit
BrendonHomo is offline  
Old 02/11/2012, 11:47   #2
 
Dr. Coxxy's Avatar
 
elite*gold: 0
Join Date: Feb 2011
Posts: 1,206
Received Thanks: 736
Quote:
Originally Posted by BrendonHomo View Post
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);
...
Dr. Coxxy is offline  
Thanks
1 User
Old 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
BrendonHomo is offline  
Old 02/11/2012, 11:57   #4
 
Dr. Coxxy's Avatar
 
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...
Dr. Coxxy is offline  
Thanks
1 User
Old 02/11/2012, 12:08   #5
 
elite*gold: 0
Join Date: Apr 2009
Posts: 177
Received Thanks: 42
Quote:
Originally Posted by Dr. Coxxy View Post
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.
BrendonHomo is offline  
Old 02/11/2012, 12:13   #6
 
Dr. Coxxy's Avatar
 
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.
Dr. Coxxy is offline  
Old 02/11/2012, 12:19   #7
 
elite*gold: 0
Join Date: Apr 2009
Posts: 177
Received Thanks: 42
Quote:
Originally Posted by Dr. Coxxy View Post
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.
BrendonHomo is offline  
Old 02/11/2012, 12:34   #8
 
Dr. Coxxy's Avatar
 
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.
Dr. Coxxy is offline  
Old 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.
BrendonHomo is offline  
Old 02/11/2012, 12:44   #10
 
Dr. Coxxy's Avatar
 
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?
Dr. Coxxy is offline  
Thanks
1 User
Old 02/11/2012, 13:06   #11
 
elite*gold: 0
Join Date: Apr 2009
Posts: 177
Received Thanks: 42
Quote:
Originally Posted by Dr. Coxxy View Post
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
BrendonHomo is offline  
Old 02/11/2012, 13:13   #12
 
Dr. Coxxy's Avatar
 
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?
Dr. Coxxy is offline  
Old 02/11/2012, 13:30   #13
 
elite*gold: 0
Join Date: Apr 2009
Posts: 177
Received Thanks: 42
Quote:
Originally Posted by Dr. Coxxy View Post
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
BrendonHomo is offline  
Old 02/11/2012, 13:33   #14
 
Dr. Coxxy's Avatar
 
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);
Dr. Coxxy is offline  
Old 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?
BrendonHomo is offline  
Reply


Similar Threads 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.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.