熟悉ReceiveBuf的快来帮忙

Santos 2003-08-18 11:19:00
我现在写一个Socket通讯,遇到问题,服务端不能正确接收客户端发来的TagA结构,TagA结构定义如下:
struct TagA
{
int Cmd;
int Count;
};
哪位能帮我指出问题所在,万分感激。

服务端:
void __fastcall TForm1::ServerSocket1ClientRead(TObject *Sender,
TCustomWinSocket *Socket)
{
Memo2->Lines->Add (Socket->ReceiveText ());

int Len = Socket->ReceiveLength ();
Memo2->Lines->Add ("结构长度 = "+IntToStr(Len));
struct TagA A;
A.Cmd = 0;
A.Count = 0;
Socket->ReceiveBuf (&A, Len);

Memo2->Lines->Add (A.Cmd );
Memo2->Lines->Add (A.Count );
}
//---------------------------------------------------------------------------

客户端:
void __fastcall TForm2::Button3Click(TObject *Sender)
{
struct TagA A;
A.Cmd = 10;
A.Count = 2;
int Len = ClientSocket1->Socket->SendBuf (&A,sizeof(A));
Memo2->Lines->Add ("发送结构长度 = "+IntToStr(Len));

}
//---------------------------------------------------------------------------

运行后:
当客户端点击Button3后,Len的值为8。而服务端ReceiveLength 却为0。why? :(
...全文
61 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Santos 2003-08-20
  • 打赏
  • 举报
回复
真的,没想到会是这样。谢谢啦!:)
COKING 2003-08-19
  • 打赏
  • 举报
回复
Memo2->Lines->Add (Socket->ReceiveText ()); // 这句去掉,呵呵。。。

13,824

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧