delphi 数据转发器优化版

  数据转发的用处不必说,即时通讯,语音,视频传输都要用到。
本转发器基于Tserversocket服务器组件,通俗易懂,功能强大,无延迟。
数据转发原理:
  1、需求:数据希望从A客户端经服务器转发给B客户端;
  2、 服务器上有两个socket,分别对应AB两个客户端连接;
  3、一个socket接收A客户端数据(称为接收端socket);
  4、另一个socket发送数据给B客户端(称为发送端socket);

const
  MAX_BUF_SIZE=8192; 数据缓冲区大小


  PRepeatDataBuffer=^stRepeatDataBuffer; //转发数据缓冲区
  stRepeatDataBuffer=record
    oh:stOrderHeader;                   //数据头
    targetSocket:TCustomWinSocket;      //目标端(发送端)
    buf:array[0..MAX_BUF_SIZE-1] of byte; //数据缓冲区
  end;

{
  两个socket之间的数据转发
  inSocket: TCustomWinSocket   //接收数据端;
  outSocket: TCustomWinSocket   //发送数据端;
}
function TDM.repeatData(inSocket,outSocket: TCustomWinSocket):boolean;
var
  buf:array of byte;
  dataLen,recvLen,recved,sended,sendLen,errCount:integer;
begin
  result:=false;
  dataL

猜你喜欢

转载自blog.csdn.net/byc6352/article/details/124651891