It looked like this before i sent the data: (Debug) type: 14 Login { name: "Test" password: "nil" }
And i got this on the receiving end: (Debug) type: 14 Login { 14 { } } I can't figure out what in the world which could be changing data... Notice: I am using wxWidgets for UI and SFML for Networking. Here are the sending and recieving methods: //Server side this->TCP->Receive(this->TCPBuffer, sizeof( this->TCPBuffer ), this- >RecievedSize) //<- Is in a If structure net_protocol::NMessage RcvdMsg; std::string Tmp(this->TCPBuffer); RcvdMsg.ParseFromString( Tmp ) //Client side net_protocol::NMessage Msg; Msg.set_type( Network::MsgType::RECIEVE_LOGIN_INFO ); net_protocol::LoginInfo *LoginInfos; LoginInfos = Msg.mutable_login(); LoginInfos->set_name( this->name->GetValue() ); LoginInfos->set_password( this->password->GetValue() ); std::string Tmp; Msg.SerializeToString(&Tmp); this->fParent->Socket.Send( Tmp.c_str(), sizeof( Tmp.c_str() ) ); On 10 Nov, 20:40, Kenton Varda <[EMAIL PROTECTED]> wrote: > I don't see anything wrong with your code. What kind of error are you > seeing? Are you sure that the bytes you passed in to the parser on the > receiving end are exactly the same as what came out of the serializer on the > sending side? > > On Sun, Nov 9, 2008 at 6:40 AM, <[EMAIL PROTECTED]> wrote: > > > I wonder if there are any reasons to why this would fail to parse on > > the Server side of a game which a few friends me are making. > > > ||Protocol: > > > package net_protocol; > > > //Login Protocol 2 > > message LoginInfo { > > required string name = 1; > > required string password = 2; > > } > > > //Message Protocol 3 > > message ChatMessage { > > required string name = 1; > > required string body = 2; > > } > > > //The Protocol Main > > message NMessage { > > required int32 type = 1; > > optional LoginInfo type2 = 2; > > optional ChatMessage type3 = 3; > > } > > > ||Code which sends the Protocol: > > net_protocol::NMessage Msg; > > Msg.set_type( Network::MsgType::RECIEVE_LOGIN_INFO ); > > > net_protocol::LoginInfo *LoginInfos; > > LoginInfos = Msg.mutable_type2(); > > LoginInfos->set_name( this->name->GetValue().c_str() ); > > LoginInfos->set_password( this->password->GetValue().c_str() ); > > //Send away it here with some Network stuff > > > When the server gets that and tries to parse it so does it autofail. > > Just sending the NMessage without any optional structures work fine. > > > And the documentation are vague at it's best to describe how to use > > optional messages. > > > I would be grateful if someone could give me more insight on this :). --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To post to this group, send email to protobuf@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/protobuf?hl=en -~----------~----~----~----~------~----~------~--~---