C Programming
 
Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
User Name:
Password:
Remember me
Go Back   Dev Shed ForumsProgramming LanguagesC Programming

Reply
Add This Thread To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
Thread Tools Search this Thread Rate Thread Display Modes
 
Unread Dev Shed Forums Sponsor:
Get inside! Sample the range of functionality easily built with JMSL Library for Time Series Data Analysis, Heat Maps, Portfolio Optimization, Monte Carlo Simulation, Stock Price Charting and more. Download Now!
  #1  
Old April 28th, 2003, 06:10 PM
infamous41md's Avatar
infamous41md infamous41md is offline
not a fan of fascism (n00b)
Dev Shed Frequenter (2500 - 2999 posts)
 
Join Date: Feb 2003
Location: ct
Posts: 2,756 infamous41md User rank is Sergeant (500 - 2000 Reputation Level)infamous41md User rank is Sergeant (500 - 2000 Reputation Level)infamous41md User rank is Sergeant (500 - 2000 Reputation Level)infamous41md User rank is Sergeant (500 - 2000 Reputation Level)infamous41md User rank is Sergeant (500 - 2000 Reputation Level) 
Time spent in forums: 2 Days 11 h 4 m 29 sec
Reputation Power: 26
my strings get fuxxored when sent over tcp/ip

im making this chess game, and part of the data sent in the packet is a string with a message. here is the struct i use to send it:

Code:
struct Message			//structure that contains data sent in the messages
{
	char	type;		//type of message; { C - connect ,  D - disconnect
						//					,  M - move  ,  T - talk   ,  S - status}
	int 	row;		//row #
	int     col;		//column #
	int		oldRow;		///aha, found out we need to send the old position as well
	int		oldCol;		// see above __/^
	string  talk;		//good ol fashion **** talking between players, oh yea and comp messages
	char	piece;		//the piece being moved
	bool	firstPlayer;//tells the player who is black and who is white, by default teh first
};						//one to register gets to be white... or is it black? ;0


all the data arrives fine besides the string; it arrives with odd symbols and mixed up characters. i have also tried using char * , CStrings, but they all get mixed up. when i try to use a char [] , then i get compile errors. anyone got any ideas on this?

Reply With Quote
  #2  
Old April 28th, 2003, 11:30 PM
rfc791's Avatar
rfc791 rfc791 is offline
unix hermit
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Apr 2003
Location: http://www.rfc791.org
Posts: 18 rfc791 User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: < 1 sec
Reputation Power: 0
You're going to have to decide how long your strings will get beforehand (and they cannot get any longer than this ever!), and you'll have to use a character array, eg
char str[255];

Anything else will just transmit pointers to locations in memory on the other machine over your socket

Reply With Quote
  #3  
Old April 29th, 2003, 09:56 AM
dwise1_aol's Avatar
dwise1_aol dwise1_aol is offline
Contributing User
Dev Shed Expert (3500 - 3999 posts)
 
Join Date: Jan 2003
Location: USA
Posts: 3,803 dwise1_aol User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)dwise1_aol User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)dwise1_aol User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)dwise1_aol User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)dwise1_aol User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)dwise1_aol User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)dwise1_aol User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)dwise1_aol User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)dwise1_aol User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)dwise1_aol User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)dwise1_aol User rank is Lieutenant Colonel (40000 - 50000 Reputation Level) 
Time spent in forums: 1 Month 11 h 57 m 9 sec
Reputation Power: 437
Back in mid April (c. 12 Apr), there was a discussion about passing dynamically allocated data (eg, a char* field in a struct) entitled, "Passing a dynamic array across a network" at http://forums.devshed.com/t58349/s.html .

This is the first time I've tried to include a link to another thread. Hope it works.

Reply With Quote
  #4  
Old April 29th, 2003, 10:18 AM
infamous41md's Avatar
infamous41md infamous41md is offline
not a fan of fascism (n00b)
Dev Shed Frequenter (2500 - 2999 posts)
 
Join Date: Feb 2003
Location: ct
Posts: 2,756 infamous41md User rank is Sergeant (500 - 2000 Reputation Level)infamous41md User rank is Sergeant (500 - 2000 Reputation Level)infamous41md User rank is Sergeant (500 - 2000 Reputation Level)infamous41md User rank is Sergeant (500 - 2000 Reputation Level)infamous41md User rank is Sergeant (500 - 2000 Reputation Level) 
Time spent in forums: 2 Days 11 h 4 m 29 sec
Reputation Power: 26
yep that looks like the answer. i'll try that out when i get home.

Reply With Quote
Reply

Viewing: Dev Shed ForumsProgramming LanguagesC Programming > my strings get fuxxored when sent over tcp/ip


Thread Tools  Search this Thread 
Search this Thread:

Advanced Search
Display Modes  Rate This Thread 
Rate This Thread:


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
View Your Warnings | New Posts | Latest News | Latest Threads | Shoutbox
Forum Jump


Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
  
 





© 2003-2008 by Developer Shed. All rights reserved. DS Cluster 4 hosted by Hostway