我用BCB6的自帶的indy的例子BasicClientServer 里面有兩份代碼:
client:
void __fastcall TForm2::btnGoClick(TObject *Sender)
{
TCPClient->Connect();
try
{
lstMain->Items->Add(TCPClient->ReadLn());
}
__finally
{
TCPClient->Disconnect();
}
}
server:
void __fastcall TfrmServer::TCPServerExecute(TIdPeerThread *AThread)
{
AThread->Connection->WriteLn("Hello from Basic Indy Server server.");
AThread->Connection->Disconnect();
}
打開server 和client 點擊client的按鈕是可以接收到server端接收的資料。
然后我想不用這里的server ,于是我網上下載了 TCP 的除錯工具如:TCP除錯助手(V1.9).exe 或TCPUDPDbg.exe這里工具
同樣建立以個tcp的服務器,用client 的程式測驗,此時可以連接服務器,但是此時用服務器發送資料給client, client 無法收到 并且 程式很容易無回應。
后來也測驗了client 里用執行緒的來讀取資料也是一樣。不知道到底是什么原因。
uj5u.com熱心網友回復:
用wireshark抓包看看,可能是你找的server程式在下發資料時沒有加上回車換行符號,要注意你的readLnuj5u.com熱心網友回復:
可能你的服務器沒有發送出資料轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/100284.html
標籤:基礎類
上一篇:求助!怎么才能鎖定網址。不會改變
