944,161 Members | Top Members by Rank

Ad:
  • C Discussion Thread
  • Unsolved
  • Views: 929
  • C RSS
Mar 25th, 2007
0

passing data around

Expand Post »
hi all,

I have been struggling for a while with my client/server program.
I have to authenticate in order to log on correctly.

I have managed to get most things sorted, asking for username ( which is a long integer (12) ) and also and customer ID (also an int (4)), and they are stored into 2 arrays. I can then send them from the client to the server.

For now all I am doing is printing the two integers out to see that they are correct, however when if I printf the data the numbers do not match what I typed into the client, and I do not know why ?

It is pointless trying to go onto the next stage of validating the numbers from a text file until i get this part sorted.

Somebody said that i needed to convert my integers into strings in my client program before sending them to the server as they will get corrupted...how on earth do i do this ? Is this true ? Do i need to do it, or is there another way?

Cheers for looking and any advice would be greatly appreciated.

Fatboy
Similar Threads
Reputation Points: 10
Solved Threads: 0
Newbie Poster
fatboysudsy is offline Offline
11 posts
since Mar 2007
Mar 25th, 2007
0

Re: passing data around

If the client is MS-Windows and the server is *nix then you have Big Endian-Little Endian proglem The easiest way I know to correct it is to transfer the data as ascii text then use atol() or similar function on server side to convert back to integer in its own format.
Sponsor
Team Colleague
Featured Poster
Reputation Points: 5608
Solved Threads: 2283
Retired and Enjoying Life
Ancient Dragon is offline Offline
21,963 posts
since Aug 2005
Mar 25th, 2007
0

Re: passing data around

ok cool having looked at that description that does indeed sound like the problem, i am running this on unix by the way. however how do i change the integer into an ascii code ? thats the bit i cannot find or do !
Reputation Points: 10
Solved Threads: 0
Newbie Poster
fatboysudsy is offline Offline
11 posts
since Mar 2007
Mar 25th, 2007
0

Re: passing data around

>> i am running this on unix by the way
if both client and server are on the same os (unix) then the problem is something else.

>> how do i change the integer into an ascii cod
c++ example, use stringstream class
  1. #include <sstream>
  2. ...
  3. ...
  4. stringstream stream;
  5. int n = 123;
  6. stream << n;
  7. cout << stream.str();

c example
  1. #include <stdio.h>
  2. #include <string.h>
  3. ...
  4. ...
  5. char buffer[80];
  6. int n = 123;
  7. sprintf(buffer,"%d", n);
  8. printf("%s\n", buffer);
Last edited by Ancient Dragon; Mar 25th, 2007 at 4:26 pm.
Sponsor
Team Colleague
Featured Poster
Reputation Points: 5608
Solved Threads: 2283
Retired and Enjoying Life
Ancient Dragon is offline Offline
21,963 posts
since Aug 2005

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in C Forum Timeline: Linked List
Next Thread in C Forum Timeline: Dynamic array management





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC