TcpServer收不到数据包
我用TcpServer打开监听连接了别的机子后,就执行到这步了。
procedure TForm1.TcpServer1Accept(Sender: TObject;
ClientSocket: TCustomIpClient);
var
s:string;
begin
Memo1.Lines.Add('==开始接受数据:');
s:=ClientSocket.Receiveln;
while s <> '' do
begin
Memo1.Lines.Add(s);
s := ClientSocket.Receiveln;
end;
Memo1.Lines.Add('==接收完毕!');
end;
但是显示了“==开始接受数据:”这句话之后就再也显示什么,连最后一句'==接收完毕!'都没有。
我看到其他例题都是再开辟一个线程,专门用于接收数据的,但是我搞不懂,都执行到“==开始接受数据:”这步了,那么接收不到数据的原因是什么?求解答!很急!谢谢!
[解决办法]
下断点跟踪
[解决办法]
是不是被防火墙挡掉了?
进断点跟踪下,或者打日志。
如果一直没反映,关掉防火墙再试试。
如果是防火墙的原因,在防火墙中将这个程序设为信任。
[解决办法]
TcpServer的BlockMode的三个选择bmBlocking,bmNonBlocking,bmThreadBlocking有影响吗?
我选择最后一个 应该是线程阻塞模式
代码没错 我也这样和
只要客户端TCPCLIENT发送信息 应该能显示了