官网
http://www.indyproject.org/docsite/html/frames.html?frmname=topic&frmfile=TIdTCPServer_OnExecute.html
IdUDPServer1中文汉字乱码,用IndyTextEncoding_OSDefault字符编码就解决问题了
IdUDPServer1.Send(1.1.1.1,8080,'中国人',IndyTextEncoding_OSDefault);
发送字节
IdUDPServer1.SendBuffer(const System::UnicodeString AHost, const System::Word APort, const Idglobal::TIdBytes ABuffer);
TIdBytes 就是TBytes就是TByteDynArray
udp bytes byte
procedure TForm1.IdUDPServer1UDPRead(AThread: TIdUDPListenerThread; const AData: TIdBytes; ABinding: TIdSocketHandle);
begin lastMsg := BytesToString(AData, IndyTextEncoding_OSDefault);end;
TCP,IdTCPClient
IndyTextEncoding
IdTCPClient1.IOHandler.WriteLn(sendData,IndyTextEncoding(TEncoding.ANSI));
bs:TBytes;
setlength(bs,8);
IdTCPClient1.IOHandler.Write(TIdBytes(bs));
c++
String rstr = BytesToString(AData, IndyTextEncoding_UTF8());
https://stackoverflow.com/questions/13839094/how-to-read-all-bytes-from-server-using-indy-client-in-delphi
https://forums.embarcadero.com/thread.jspa?threadID=211952
IdTCPClient1->Host =GStack->LocalAddress;; IdTCPClient1->Port = 9080; IdTCPClient1->Connect();
TCP发送buff
TFileStream *fs;String FilePath=”c:\\test.data";fs = new TFileStream(fileNamePath, fmOpenRead); IdTCPClient1->IOHandler->WriteBufferOpen(); IdTCPClient1->IOHandler->WriteLn(fileName); IdTCPClient1->IOHandler->Write(fs,false,True); delete fs; IdTCPClient1->IOHandler->WriteBufferClose();
TCP接收buff
void __fastcall TFrmServer::IdTCPServer1Execute(TIdContext *AContext) { TFileStream *fs; try { FileName = AContext->Connection->IOHandler->ReadLn("",0); } catch(...) { return; } if( FileName.IsEmpty() ) return; FileNew = DataFilePath + FileName; fs = new TFileStream(FileNew, fmCreate); AContext->Connection->IOHandler->ReadStream (fs,-1,false); delete fs; //新版没有这个线程函数了 //AContext->Connection->Synchronize(frmksjg->BitBtn1->Click); }
https://stackoverflow.com/questions/10361446/delphi-indy-10-demo-application-client-server
https://stackoverflow.com/questions/25438309/indy10-idtcpclients-iohandler-send-additional-data
https://stackoverflow.com/questions/25438309/indy10-idtcpclients-iohandler-send-additional-data
https://forums.embarcadero.com/thread.jspa?threadID=115603