我初学delphi 想写个客户端程序 我用tcpclient连用vb写的服务器端 现在客户端能发送数据给服务器端 可是服务器发给客户端的数据我怎么在delphi中接收到? 我想应该自动触发TcpClient1Receive事件吧 可是我调试 总是不执行TcpClient1Receive里的东西 贴出代码让大家帮我看看
难道我要启动一个线程时刻检查有数据么?
我点按钮 会出来 send ok 提示 这是我在TcpClient1Send里写的
我就是奇怪我用vb写的服务器端明明把数据发出来了 都显示发送成功了 delphi怎么也收不到 我用另外一个别人写的java的服务器端 连它也能显示java服务器端收到数据,并同时给她发回应信息,我在delphi中也收不到数据 为什么?
我以前用vb语言写tcp通信 接收数据都是有事件自动触发的 delphi中怎么做?procedure TForm1.Button1Click(Sender: TObject); //点 按钮 发送数据
var
s:string;
bMsg:ByteArray;
i: Integer;
begin
try
if tcpclient1.Connected then
else
begin
tcpclient1.Connect;
end;
if tcpclient1.Connected then
begin
s:=getLoginXml('yutong','12345');
bmsg:=getXmlBody('T001',s);
i:=high(bmsg);
i:=i+1;
TcpClient1.SendBuf(bmsg[0],i);
end;
finally
end;
end;procedure TForm1.TcpClient1Receive(Sender: TObject; Buf: PAnsiChar;
var DataLen: Integer);
var
s:string;
begin
s:=TcpClient1.Receiveln();
showmessage(s);
showmessage ('receivdve');
end;procedure TForm1.TcpClient1Error(Sender: TObject; SocketError: Integer);beginshowMessage('sock error'+intToStr(socketError));
end;procedure TForm1.TcpClient1Send(Sender: TObject; Buf: PAnsiChar;
var DataLen: Integer);
begin
showmessage('send ok');
end;
难道我要启动一个线程时刻检查有数据么?
我点按钮 会出来 send ok 提示 这是我在TcpClient1Send里写的
我就是奇怪我用vb写的服务器端明明把数据发出来了 都显示发送成功了 delphi怎么也收不到 我用另外一个别人写的java的服务器端 连它也能显示java服务器端收到数据,并同时给她发回应信息,我在delphi中也收不到数据 为什么?
我以前用vb语言写tcp通信 接收数据都是有事件自动触发的 delphi中怎么做?procedure TForm1.Button1Click(Sender: TObject); //点 按钮 发送数据
var
s:string;
bMsg:ByteArray;
i: Integer;
begin
try
if tcpclient1.Connected then
else
begin
tcpclient1.Connect;
end;
if tcpclient1.Connected then
begin
s:=getLoginXml('yutong','12345');
bmsg:=getXmlBody('T001',s);
i:=high(bmsg);
i:=i+1;
TcpClient1.SendBuf(bmsg[0],i);
end;
finally
end;
end;procedure TForm1.TcpClient1Receive(Sender: TObject; Buf: PAnsiChar;
var DataLen: Integer);
var
s:string;
begin
s:=TcpClient1.Receiveln();
showmessage(s);
showmessage ('receivdve');
end;procedure TForm1.TcpClient1Error(Sender: TObject; SocketError: Integer);beginshowMessage('sock error'+intToStr(socketError));
end;procedure TForm1.TcpClient1Send(Sender: TObject; Buf: PAnsiChar;
var DataLen: Integer);
begin
showmessage('send ok');
end;
解决方案 »
- 高分求助, 这段在代码放在exe中没有问题, 放在DLL中就有问题, IS的问题吗?
- 关于串口通讯的问题
- 注册表问题
- 注册表的问题--请进
- 100分请教,如何将DBGrid中某字段为空的记录全部删除, 和过滤掉重复的记录?
- ===大家一起来看看:谁有最好的算法?===
- 我削尖脑袋都想不到这段vc程序怎样用delphi实现。这段程序是控制iis的东西。
- 如何把屏幕的一部分copy下来?
- 怎样对一个实数向上取整?
- 呵呵,我看不懂的源代码,有人可以帮下忙吗?我可是看不懂呀
- 有谁知道FastReport2.52能显示数据库中的Image字段吗?请给个例子,非常急!!!先谢了!!!!!!
- 很简单的一个关于TTreeview1 控件的问题————在线等待!!
怎么弄?
TcpClient1.Active :=True;
就和帮定的ip port连上了 不用再执行connect 可是在这种情况下 他仍旧不会自动响应onreceive事件,我的意思是说 我用vb写server在收到delphi下client发来的数据后立即向delphi返回数据 ,d下onreceive没反应