to jasminemao(jasmine): 不是过期是帖子太长了,发送端发送位图,接收后写入流里,用Image1显示: procedure TForm4.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket); var Stream: TMemoryStream; nReceived: integer; Buffer: array [0..9999] of char; begin begin Stream := TMemoryStream.Create; Screen.Cursor := crHourglass; try nReceived := Socket.ReceiveBuf (Buffer, sizeof (Buffer)); if nReceived > 0 then begin Stream.Write (Buffer, nReceived); Sleep (50);// The time set depend on you PC and NET speed. end; Stream.Position := 0; Image1.Picture.Bitmap.LoadFromStream (Stream); finally Stream.Free; Screen.Cursor := crDefault; end; end; end;
to heifei(): 你的用的是什么模式?如果我要传结构数组和提示信息(用来提示传过来的是什么),应该怎么发送和接收,谢谢!
to heifei(): 快点告诉我嘛,我会急死了,就下第一把,谢谢!
to heifei(): 不行呀,我用了你的方法还是老样子,我用的:buffer:Tprotocal; 而且sleep(2000);还是不行,这是为什么?
这个网页好像已经过期了,我看不到呀。怎么办,你能看到吗?跟我传过来好吗?谢谢!
这个好象有问题,可能是结构体的长度不固定,最好统一使用字符数组
to jasminemao(jasmine):
不是过期是帖子太长了,发送端发送位图,接收后写入流里,用Image1显示:
procedure TForm4.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
Stream: TMemoryStream;
nReceived: integer;
Buffer: array [0..9999] of char;
begin
begin
Stream := TMemoryStream.Create;
Screen.Cursor := crHourglass;
try
nReceived := Socket.ReceiveBuf (Buffer, sizeof (Buffer));
if nReceived > 0 then
begin
Stream.Write (Buffer, nReceived);
Sleep (50);// The time set depend on you PC and NET speed.
end;
Stream.Position := 0;
Image1.Picture.Bitmap.LoadFromStream (Stream);
finally
Stream.Free;
Screen.Cursor := crDefault;
end;
end;
end;
你的用的是什么模式?如果我要传结构数组和提示信息(用来提示传过来的是什么),应该怎么发送和接收,谢谢!
快点告诉我嘛,我会急死了,就下第一把,谢谢!
不行呀,我用了你的方法还是老样子,我用的:buffer:Tprotocal; 而且sleep(2000);还是不行,这是为什么?
我用这个发小的字串数组都能受到呀.
你记录中filecont是什么?