|
|
//
XReport=Record
SubSequNumber1,SubSequNumber2,SubSequNumber3 :longword;
ReportType :byte;
UserNumber :array[0..20] of char;
State :byte;
ErrorCode :byte;
Reserve :array[0..7] of char;
end;
Report_Resp=Record
Result :byte;
Reserve :array[0..7] of char;
end;
implementation
end.
file://、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、//
服务端
unit main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, xy, ScktComp, StdCtrls,winsock;
type
TForm1 = class(TForm)
Memo1: TMemo;
ServerSocket1: TServerSocket;
procedure ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
procedure ServerSocket1ClientError(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
type
SendPack = packed record
head: SGIPHead;
resp: Bind_Resp;
end;
var
ReHead:SGIPHead;
sresp:Bind_Resp;
ReBind:xBind;
ReDeliver:XDeliver;
ReReport:XReport;
i1,i2:integer;
str:string;
S_Number1,S_Number2,S_Number3,longI1:longword;
s_Pack:SendPack;
begin
fillchar(sresp,sizeof(sresp),0);
fillchar(ReHead,sizeof(ReHead),0);
i1:=Socket.ReceiveBuf(ReHead,sizeof(ReHead));
if i1<>sizeof(ReHead) then
begin
memo1.Lines.Add('Recv message Error exit');
exit;
end;
S_Number1:=ReHead.SNumber1;
S_Number2:=ReHead.SNumber2;
S_Number3:=ReHead.SNumber3;
ReHead.MessageLength:=ntohl(ReHead.Mes
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>
网友评论:(评论内容只代表网友观点,与本站立场无关!) |
阅读排行
没有相关文章
|