我在循环里面发包,如下:
for i:=0 to 100 do
ClientSocket1.Socket.SendText(sMsg);请问我如何收到服务器对每个包的回复?我原来是在ClientSocket 的 OnRead事件里
取的:
Memo1.Lines.Add('BQ:' + Socket.ReceiveText);
但直到循环结束只收到一个返回包.为什么呀?
for i:=0 to 100 do
ClientSocket1.Socket.SendText(sMsg);请问我如何收到服务器对每个包的回复?我原来是在ClientSocket 的 OnRead事件里
取的:
Memo1.Lines.Add('BQ:' + Socket.ReceiveText);
但直到循环结束只收到一个返回包.为什么呀?
解决方案 »
- 调试中的问题,高分解决
- delphi怎样写省市县选择(像javascript那样)
- D版第一届CS大赛,请大家踊跃参加
- 在应用程序中使用clientdataset控件,发布时是否一定要分发midas.dll?
- 刷新警告问题
- 会者不难!请关注-----动态连接ODBC的问题。
- 把 SocketConnection 写到DLL里面,动态调用 connected:=true 时出错,为什么?
- 想知道数组的最大下标是多少?哪个大哥帮帮忙
- 新人 刚学Delphi 运行Delphi 出现 错误 求解答
- delphi怎么给局部数组变量赋值
- 急需delphi6.0开发人员指南 的电子书
- 要在程序中控制在DBCHART显示不同颜色部分的内容及数值,如'34 丰田',来者有分?
for i:=0 to 100 do
begin
ClientSocket1.Socket.SendText(sMsg);
sleep(500);
end;你這樣發得太快了, ServerSocket會將你那100個包當成一個接收下來的!!所以..你的問題就..
isReceving:=true;
DoReceving;
isReceving:=false;在发送:
for i:=0 to 100 do
begin
ClientSocket1.Socket.SendText(sMsg);
isReceving:=true;
while isReceving and (not Timeout) do
;
end;