我想用send发送filesize(一个整形数字)有什么办法
试过内存拷贝了,好像不是我想要的数据,下面这样拷贝为什么数值是错的
CopyMemory(buff,@filesize,Sizeof(filesize));
var
s :TSocket;
filesize: integer;
buff: array[0..512] of char;
...... fstream := tfilestream.Create('c:\test.txt', fmopenread);
filesize := fstream.Size;
我想发送filesize的数值到服务端要怎么发送呢?是整形数字
send(s,buff,4,0); //怎样能让buff=filesize的数值啊?
试过内存拷贝了,好像不是我想要的数据,下面这样拷贝为什么数值是错的
CopyMemory(buff,@filesize,Sizeof(filesize));
var
s :TSocket;
filesize: integer;
buff: array[0..512] of char;
...... fstream := tfilestream.Create('c:\test.txt', fmopenread);
filesize := fstream.Size;
我想发送filesize的数值到服务端要怎么发送呢?是整形数字
send(s,buff,4,0); //怎样能让buff=filesize的数值啊?
发送
var
i:integer;
begin
i := 100;
send(Client,i,SizeOf(integer),0);
end;
接收
var
recsock: TSocket;
addr: sockaddr_in;
addrlen: Integer;
i:integer;
begin
recsock := accept(Server,@addr,@addrlen);
recv(recsock,i,SizeOf(integer),0); //i:=100;
end;
是不是和网络字节顺序有关?
发现原来的数据是 00 00 00 08
变成了 08 00 00 00