首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

紧急网络传送记录类型的有关问题

2012-02-07 
紧急求救:网络传送记录类型的问题问题现象:在服务端接收到的结构是乱码vc中的结构struct File_CMD{int m_m

紧急求救:网络传送记录类型的问题
问题现象:在服务端接收到的结构是乱码
vc中的结构
struct File_CMD
{
int m_msg;//操作码
char filename[512];//文件名或其它的
char user[32];//用户名
char PworCrc[32];//密码或CRC值
int SESSION;//连接标志,用来保持连接的
  int m_ok;
LARGE_INTEGER Filesize;//文件大小
LARGE_INTEGER m_begin;//开始字
LARGE_INTEGER m_end;//结束
};
根据vc中的结构改的
记录的定义
type
client_record=record
 m_msg:integer;//操作码
 filename:string[255];//文件名或其它的
 user:string[32];//用户名
 PworCrc:string[32];//密码或CRC值
 SESSION:integer;//连接标志,用来保持连接的
  m_ok:integer;
 Filesize:integer;//文件大小
 m_begin:integer;//开始字
 m_end:integer;//结束
end;
下面是主要代码
procedure TForm1.Button1Click(Sender: TObject);
begin
ClientSocket1.Active:=true;
end;

procedure TForm1.ClientSocket1Disconnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
memo1.Lines.Add(ClientSocket1.Socket.RemoteHost);
end;

procedure TForm1.Button2Click(Sender: TObject);


begin
GetMem(Buffer1,sizeof(xinxi));
ClientSocket1.Socket.SendBuf(Buffer1,sizeof(xinxi)) ;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
user,pass:string ;

begin
//user:=SetLenth('test',32);
 xinxi[0].m_msg:=1;//操作码
 xinxi[0].filename:='s.text';//文件名或其它的
 xinxi[0].user:='test';//用户名
 xinxi[0].PworCrc:='test';//密码或CRC值
 xinxi[0].SESSION:=3;//连接标志,用来保持连接的
  xinxi[0].m_ok:=0;
xinxi[0].Filesize:=100000;//文件大小
xinxi[0].m_begin:=0;//开始字
xinxi[0].m_end:=100000;//结


end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
FreeMem(Buffer1,sizeof(xinxi));
end;

[解决办法]
File_CMD = record
m_msg:integer;
filename:array[0..511] of char;
user:array[0..31] of char;
PworCrc:array[0..31] of char;
SESSION:integer;
m_ok:integer;
Filesize:LARGE_INTEGER;
m_begin:LARGE_INTEGER;
m_end:LARGE_INTEGER;
end;

热点排行