服务端接受的是乱码

bingfox 2003-10-27 09:01:51
发送的代码:
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
buffer:array of byte;
ls_sedstr:string;
li_len:integer;
begin
ls_sedstr:='h';
li_len:=length(ls_sedstr);
setlength(buffer,li_len);
copymemory(@buffer[0],@ls_sedstr[1],li_len);
for i:=0 to ServerS.Socket.ActiveConnections-1 do
begin
ServerS.Socket.Connections[i].SendBuf(buffer,li_len);
end;
end;
接受的代码:
procedure TForm1.ClientSRead(Sender: TObject; Socket: TCustomWinSocket);
var
buffer:array of byte;
ls_recstr:string;
li_len:integer;
begin
li_len:= Socket.ReceiveLength;
setlength(ls_recstr,li_len);
setlength(buffer,li_len);
Socket.ReceiveBuf(buffer[0],li_len);
copymemory(@ls_recstr[1],@buffer[0],li_len);
showmessage(ls_recstr);
end;
仅仅作了一个测试的例子,
结果ls_recstr是乱码,请问大家如何解决,那儿出错?
...全文
24 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
aiirii 2003-10-27
  • 打赏
  • 举报
回复
copymemory(@buffer[0],@ls_sedstr[1],li_len);
->
copymemory(buffer,Pchar(ls_sedstr),li_len);

Socket.ReceiveBuf(buffer[0],li_len);
->
Socket.ReceiveBuf(buffer,li_len);

copymemory(@ls_recstr[1],@buffer[0],li_len);
->
copymemory(pchar(ls_recstr),buffer,li_len);


1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧