客户端用ClientSocket,服务端用ServerSocket,客户端ClientSocket的代码大致如下: Form.Create
begin
dbData := TdbData.Create(Application);
fmLogin := TfmLogin.Create(Application); //创建登录窗体
dbData.ClientSocket1.Open;
end; ClientSocket.Connect
begin
fmLogin.ShowModal; //如果连接上则显示登录窗体
end; ClientSocket.Error
begin
ShowMessage('连接错误');
end; btnOK.Click //点击登录窗体上的OK按钮
begin
dbData.ClientSocket1.Socket.SendText('……');
end; 问题是,点了OK后,ClientSocket也确实发送了信息,但是服务端好象根本没收到信息。
如果把ClientSocket.Open放在点击OK按钮之后,那么没问题,但我不想这么做,而且不知道如何在确认连接成功后再做其他操作。
请问大虾们,该如何做啊?谢谢!
会不会是因为Connect事件是在连接成功一瞬间触发的?而显示登录窗体则还在这个事件了,所以实际上点OK后消息并没有发出去?请大虾们明指,谢谢!
begin
dbData := TdbData.Create(Application);
fmLogin := TfmLogin.Create(Application); //创建登录窗体
dbData.ClientSocket1.Open;
end; ClientSocket.Connect
begin
fmLogin.ShowModal; //如果连接上则显示登录窗体
end; ClientSocket.Error
begin
ShowMessage('连接错误');
end; btnOK.Click //点击登录窗体上的OK按钮
begin
dbData.ClientSocket1.Socket.SendText('……');
end; 问题是,点了OK后,ClientSocket也确实发送了信息,但是服务端好象根本没收到信息。
如果把ClientSocket.Open放在点击OK按钮之后,那么没问题,但我不想这么做,而且不知道如何在确认连接成功后再做其他操作。
请问大虾们,该如何做啊?谢谢!
会不会是因为Connect事件是在连接成功一瞬间触发的?而显示登录窗体则还在这个事件了,所以实际上点OK后消息并没有发出去?请大虾们明指,谢谢!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货