TIdTcpServer在连接事件和读数据事件都会触发onExecute事件,我如何判断是连接事件呢?

柳慧妍 2007-09-07 11:56:35
客户端代码如下:
IdTCPClient1->Connect();
IdTCPClient1->WriteLn("123456");
IdTCPClient1->WriteInteger(fileStream->Size);

服务器端代码如下:
void __fastcall TForm1::IdTCPServer1Execute(TIdPeerThread *AThread)
{
if(AThread->Connection->Connected())
{
AThread->Connection->ReadLn(ss, 5000);
nLen = AThread->Connection->ReadInteger();
}
}

可是每次ss都没有读到,本来应该是"123456"的,为什么会这样呢?
...全文
132 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
iverson1982 2007-09-28
  • 打赏
  • 举报
回复
判断连接事件可以在server里的onConnect事件里,你试试用WriteBuffer发看看
sczyq 2007-09-07
  • 打赏
  • 举报
回复
0
已经博主授权,源码转载自 https://pan.quark.cn/s/a4b39357ea24 GridLayout是一种在Android系统中应用的布局方法,它通过构建二维网格来组织界面组件,为开发者提供了一个便捷且多样的途径来布置用户界面元素。在这个详尽的阐释中,我们将全面研究GridLayout的操作方式、其独有特性以及如何在实际的项目开发中高效地运用它。 GridLayout的关键在于其网格构造。在GridLayout中,每个控件可以占据一个或多个网格单元,这些单元通过行列坐标进行标识。通过设定控件的`android:layout_row`和`android:layout_column`属性,开发者可以明确控件在网格中的位置。比如,`android:layout_row="1"`意味着该控件位于第二行,而`android:layout_column="2"`则表示该控件位于第三列。 另外,GridLayout还支持设置控件能够跨越的网格单元数目,这通过`android:layout_rowSpan`和`android:layout_columnSpan`属性来实现。假如一个控件的`layout_rowSpan="2"`,那么它将覆盖两行的区域,`layout_columnSpan="3"`则导致其横跨三列。这种高度的适应性使得GridLayout能够满足各种复杂的界面设计需求。 在GridLayout的应用中,控件的大小一般自动适配以填满整个网格单元。不过,开发者也可以通过`android:layout_width`和`android:layout_height`属性来设定确切的尺寸,或者使用`android:layout_weight`属性来分配剩余的空间...

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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