请问如何用winsock实现文件的发送和接收,有原码参考最好。
邮箱: [email protected]
邮箱: [email protected]
解决方案 »
- 窗体问题,请高手指点
- 不对呀,大家发了这么多贴子.为什么没有一个是正确的了,高手在哪?出山相救一下小弟吧
- 大家帮我做一个测试 把adoconnection1给free后 如何从新调用建立它 并保持它的属性不变
- 如何在EhLib的DBGRIDEH的合计一栏的第一列加上合计两个字。
- 用ADOConnection连接SQLServer数据库,怎么才能不显示系统默认的登陆窗口,而用自已设计的登陆窗口?
- 如何调用动态库中的函数?(进者有分)
- 怎样可以得到dbgrid的事件信息,如鼠标移动滚动条???100分!
- 求“BUTTON GROUP”控件。。就是QQ上那种“分组按纽”的控件,DELPHI中找不到。。。
- ??? 如何查找TXT中内容 ???
- 如何实现Delphi窗口象OICQ图标那样在任务条中闪烁?
- 向表中添加内容
- 在英文win2000下开发的东西,在中文win2000下面目全非了!
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ScktComp, StdCtrls; type
TForm1 = class(TForm)
ClientSocket1: TClientSocket;
ServerSocket1: TServerSocket;
btnTestSockets: TButton;
procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure ClientSocket1Disconnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ServerSocket1ClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure btnTestSocketsClick(Sender: TObject);
private
FStream: TFileStream;
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end; var
Form1: TForm1; implementation {$R *.dfm} procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
var
iLen: Integer;
Bfr: Pointer;
begin
iLen := Socket.ReceiveLength;
GetMem(Bfr, iLen);
try
Socket.ReceiveBuf(Bfr^, iLen);
FStream.Write(Bfr^, iLen);
finally
FreeMem(Bfr);
end;
end; procedure TForm1.FormCreate(Sender: TObject);
begin
FStream := nil;
end; procedure TForm1.FormDestroy(Sender: TObject);
begin
if Assigned(FStream) then
begin
FStream.Free;
FStream := nil;
end;
end; procedure TForm1.ClientSocket1Disconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
if Assigned(FStream) then
begin
FStream.Free;
FStream := nil;
end;
end; procedure TForm1.ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
begin
FStream := TFileStream.Create('c:\temp\test.stream.html', fmCreate or fmShareDenyWrite);
end; procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
Socket.SendStream(TFileStream.Create('c:\temp\test.html', fmOpenRead or fmShareDenyWrite));
end; procedure TForm1.btnTestSocketsClick(Sender: TObject);
begin
ServerSocket1.Active := True;
ClientSocket1.Active := True;
end; end.